我有一个用netbeans在java下开发的程序。它具有一个文本窗格,该窗格接受以非英语编写的文本,并执行一些操作,包括保存打开的新.....
当我从netbeans运行该程序时,它很好,并且可以完美地工作。但是,当我转到dist文件夹并运行jar(应该是可执行文件)时,它运行良好,但是当我将先前保存的文件打开到编辑器中时,它显示了神秘的字体。
喜欢-
লিখ“原始输入是” <<নতুন_লাইন;চলবে(সংখ্যাপ= ০;প<যতটা;প++)
变成
লিঠ–“原始输入是” << à¦ãध§à ___ লাই࿠ààšà²à¬à§‡(সংখ৯য¾ প = ০; প <যত¤à¦Ÿàà ¦¾; প ++)
另一件事是有趣的。如果我在编辑器中键入它也可以正常工作(没有字体问题)。
我正在使用这两个功能来读写文件
public void writeToFile(String data,String address) { try{ // Create file FileWriter fstream = new FileWriter(address); BufferedWriter out = new BufferedWriter(fstream); out.write(data); //Close the output stream out.close(); }catch (Exception e){//Catch exception if any System.err.println("Error: " + e.getMessage()); } } public String readFromFile(String fileName) { String output=""; try { File file = new File(fileName); FileReader reader = new FileReader(file); BufferedReader in = new BufferedReader(reader); String string; while ((string = in.readLine()) != null) { output=output+string+"\n"; } in.close(); } catch (IOException e) { e.printStackTrace(); } return output; }
我已经将文本窗格的字体设置为vrinda,该字体可以在IDE内运行,正如我提到的那样。
请帮助我找出问题所在。
需要本地支持时,我需要做些什么来发布JAR?
尝试更改您的阅读逻辑以使用允许设置编码的InputStreamReader:
InputStreamReader inputStreamReader = new InputStreamReader(new FileInputStream (file), "UTF-8" );
还要更改您的编写逻辑以使用OutputStreamWriter,它允许设置编码:
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(new FileOutputStream (file), "UTF-8" );