3

ファイルのエンコードに問題があります。作成した形式で DB を XML にエクスポートする方法があります。問題は、ファイルがANSI エンコーディングで作成されており、 UTF-8 エンコーディングが必要なことです(ANSI では一部のスペイン語文字が適切に表示されません)。

XML ファイルは StringBuilder オブジェクトから生成されます。DBからこの StringBuilder オブジェクトにデータを書き込み、すべてのデータをコピーしたら、ファイルを作成します。

どんな助けでもありがたく受け取られます。よろしくお願いします。

編集:これは私のソースの一部です: XMLBuilder クラス:

...
    public XmlBuilder() throws IOException {
      this.sb = new StringBuilder();
    }
...
    public String xmlBuild() throws IOException{
      this.sb.append(CLOSE_DB);
      return this.sb.toString();
    }
...

XML ファイルを生成するサービス クラス:

XmlBuilder xml = new XmlBuilder();
... (adding to xml)...
xmlString = xml.build();
file = createXml(xmlString);
...

createXml :

public File createXml(String textToFile) {
  File folder = new File("xml/exported/");
  if (!folder.exists()) {
      folder.mkdirs();
  }
  file = new File("xml/exported/exportedData.xml");

  try (FileOutputStream fop = new FileOutputStream(file)) {

    // if file doesn't exists, then create it
    if (!file.exists()) {
        file.createNewFile();
    }
    //if file exists, then delete it and create it
    else {
        file.delete();
        file.createNewFile();
    }

    // get the content in bytes
    byte[] contentInBytes = textToFile.getBytes();

    fop.write(contentInBytes);
    fop.flush();
    fop.close();

    System.out.println("Done");

  } catch (IOException e) {
    e.printStackTrace();
  }
  return file;
}
4

1 に答える 1