java 保存文件路径的问题

发布网友 发布时间:2022-04-25 18:15

我来回答

2个回答

热心网友 时间:2023-10-03 05:17

public class Test {
public static void main(String[] args) {
Test t = new Test();
t.SystemIn();

}

public void SystemIn() {
// 写入文件路径
String path = null;

// 读入输入内容
BufferedReader read =
new BufferedReader(new InputStreamReader(System.in));

try {
// 保存输入内容
StringBuffer value = new StringBuffer();

// 读入一行内容
String context = read.readLine();
while (context != null) {
if (context.equals("保存")) break;
value.append(context + "\n");
read = new BufferedReader(new InputStreamReader(System.in));
context = read.readLine();
}
System.out.println("请输入地址:");
while(true) {
// 读入路径
read = new BufferedReader(new InputStreamReader(System.in));
if (path == null) {
path = read.readLine();
File file = new File(path);
if (!file.exists()) {
System.out.println("文件不存在,请输入地址:");
path = null;
continue;
}

// 写入文件
PrintWriter print = new PrintWriter(new FileOutputStream(file));
print.write(value.toString());
print.close();
}
if (read.readLine().equals("quit")) {
System.exit(0);
}
}
} catch (IOException e) {
e.printStackTrace();
}

}
}

热心网友 时间:2023-10-03 05:17

文件保存路径中如果有中文可能会出现乱码,通常获取到的文件中通常都是“iso8859-1”格式,需要转换为“UTF-8”格式。
如:String filePath= new String(path.getByte("iso8859-1"),"UTF-8");进行下强制转换后在进行读取即可。
通常格式有GBK、UTf-8、iso8859-1、GB2312,如果上面的强制转换不成功,依次进行这些格式的尝试,肯定是可以解决问题的。
备注:如果是黑窗口执行的时候报错,那就不是类型转换的错误,而是需要将文件类型另存为UTF-8的文件类型即可。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com