Java .txt文件在我的计算机上打开时似乎有所不同。在任何其他移动设备上似乎都可以
我新制作的.txt文件有一个奇怪的问题 我的Android程序正在向.txt文件写入字符串 以下是我的方法:Java .txt文件在我的计算机上打开时似乎有所不同。在任何其他移动设备上似乎都可以,java,android,eclipse,file-conversion,Java,Android,Eclipse,File Conversion,我新制作的.txt文件有一个奇怪的问题 我的Android程序正在向.txt文件写入字符串 以下是我的方法: public void generateNoteOnSD(String sFileName, String sBody){ try { File root = new File(Environment.getExternalStorageDirectory(), "Grafy"); if (!root.ex
public void generateNoteOnSD(String sFileName, String sBody){
try
{
File root = new File(Environment.getExternalStorageDirectory(), "Grafy");
if (!root.exists()) {
root.mkdirs();
}
File gpxfile = new File(root, sFileName + ".txt");
FileWriter writer = new FileWriter(gpxfile);
writer.append(sBody);
writer.append("**************\n");
writer.flush();
writer.close();
Toast.makeText(this, "Saved", Toast.LENGTH_SHORT).show();
}
catch(IOException e)
{
e.printStackTrace();
}
}
String s = "0 1 0 0 1 0\n1 0 1 0 1 0\n0 1 0 1 0 0\n0 0 1 0 1 1\n1 1 0 1 0 0\n0 0 0 1 0 0\n";
generateNoteOnSD("test", s);
下面是我调用方法的方式:
public void generateNoteOnSD(String sFileName, String sBody){
try
{
File root = new File(Environment.getExternalStorageDirectory(), "Grafy");
if (!root.exists()) {
root.mkdirs();
}
File gpxfile = new File(root, sFileName + ".txt");
FileWriter writer = new FileWriter(gpxfile);
writer.append(sBody);
writer.append("**************\n");
writer.flush();
writer.close();
Toast.makeText(this, "Saved", Toast.LENGTH_SHORT).show();
}
catch(IOException e)
{
e.printStackTrace();
}
}
String s = "0 1 0 0 1 0\n1 0 1 0 1 0\n0 1 0 1 0 0\n0 0 1 0 1 1\n1 1 0 1 0 0\n0 0 0 1 0 0\n";
generateNoteOnSD("test", s);
问题是我的.txt文件看起来像这样(当我在手机上打开它时):
但是当我在计算机上打开此文件时,'\n'字符消失了。。。o、 o和文件如下所示:
0 1 0 0 1 01 0 1 0 1 00 1 0 1 0 00 0 1 0 1 11 1 0 1 0 00 0 0 1 0 0**********************
问题出在哪里(在Windows操作系统中,换行符由
“\r\n”
(回车+换行符)组成,而在*NIX中,换行符只由“\n”
组成。这就是为什么它在移动电话中工作的原因,移动电话可能运行在Linux内核上,而在Windows机器上则不工作
将换行符保存为“\r\n”
,而不仅仅是“\n”
,这不会造成真正的伤害,它将在Windows和Linux操作系统上正确显示
报告提供了关于这一问题的良好信息
这是一个方便的列表。您可以使用支持UNIX换行符的编辑器,而无需对文件进行更改。尝试
\r\n
,因为这是回车符和换行符。我猜您是在使用记事本在PC上打开文件。改用写字板或记事本+:它们可以读取UNIX样式的换行符。