Heim  >  Artikel  >  Java  >  Java schreibt Dateien, die verstümmelt sind

Java schreibt Dateien, die verstümmelt sind

angryTom
angryTomOriginal
2019-11-20 17:03:042960Durchsuche

Java schreibt Dateien, die verstümmelt sind

Java-Schreibdateien sind verstümmelt

Wenn wir Dateiströme lesen und schreiben, stoßen wir oft auf Natürlich das Die Ursache für verstümmelte Codes kann nicht dieselbe sein. Hier stellen wir hauptsächlich das Problem der verstümmelten Codes vor, die durch das Dateikodierungsformat verursacht werden. Lassen Sie uns zunächst die Konzepte und Unterschiede zwischen Textdateien und Binärdateien klären.

Textdateien sind Dateien, die auf Zeichenkodierung basieren. Zu den gängigen Kodierungen gehören ASCII-Kodierung, UNICODE-Kodierung, ANSI-Kodierung usw. Binärdateien sind Dateien, die auf der Wertcodierung basieren. Sie können angeben, was ein bestimmter Wert entsprechend der spezifischen Anwendung bedeutet (ein solcher Prozess kann als benutzerdefinierte Codierung angesehen werden).

Daher ist es ersichtlich, dass Textdateien vorhanden sind Grundsätzlich handelt es sich um eine Codierung mit fester Länge (es gibt auch Codierungen ohne feste Länge wie UTF-8). Binärdateien können als Codierung mit variabler Länge betrachtet werden, da es sich um eine Wertcodierung handelt. Es liegt ganz bei Ihnen, wie viele Bits einen Wert darstellen.

Die spezifischen Vorgänge sind wie folgt:

Schreiben Sie die Datei in dem von der Datei angegebenen Format

/**
   * 按照指定的路径和编码格式保存文件内容,这个方法因为用到了字符串作为载体,为了正确写入文件(不乱码),只能写入文本内容,安全方法
   * 
   * @param data
   *     将要写入到文件中的字节数据
   * @param path
   *     文件路径,包含文件名
   * @return boolean 
   *      当写入完毕时返回true;
   */
  public static boolean writeFile(byte data[], String path , String code){
    boolean flag = true;
    OutputStreamWriter osw = null;
    try{
      File file = new File(path);
      if(!file.exists()){
        file = new File(file.getParent());
        if(!file.exists()){
          file.mkdirs();
        }
      }
      if("asci".equals(code)){
        code = "GBK";
      }
      osw = new OutputStreamWriter(new FileOutputStream(path),code);
      osw.write(new String(data,code));
      osw.flush();
    }catch(Exception e){
      e.printStackTrace();
      log.info("toFile IO Exception:"+e.getMessage());
      flag = false;
    }finally{
      try{
        if(osw != null){
          osw.close();
        }
      }catch(IOException e){
        e.printStackTrace();
        log.info("toFile IO Exception:"+e.getMessage());
        flag = false;
      }
    }
    return flag;
  }

php Chinesische Website, eine große Anzahl kostenloser Java-Einführungen Tutorials, willkommen Online-Lernen!

Das obige ist der detaillierte Inhalt vonJava schreibt Dateien, die verstümmelt sind. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn