java 保存文件路径的问题
在控制台输入数据并保存到一个自定义的文件(保存的地址要在控制台获得)里,当输入“保存”回车的时候,系统输出:“请输入地址”,然后输入文件要保存的地址(如e:\temp\t...
在控制台输入数据并保存到一个自定义的文件(保存的地址要在控制台获得)里,当输入“保存”回车的时候,系统输出:“请输入地址”,然后输入文件要保存的地址(如e:\temp\test.java),输入“quit”结束.
写程序的时候麻烦写下注释。谢谢了 展开
写程序的时候麻烦写下注释。谢谢了 展开
2个回答
展开全部
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();
}
}
}
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();
}
}
}
展开全部
文件保存路径中如果有中文可能会出现乱码,通常获取到的文件中通常都是“iso8859-1”格式,需要转换为“UTF-8”格式。
如:String filePath= new String(path.getByte("iso8859-1"),"UTF-8");进行下强制转换后在进行读取即可。
通常格式有GBK、UTf-8、iso8859-1、GB2312,如果上面的强制转换不成功,依次进行这些格式的尝试,肯定是可以解决问题的。
备注:如果是黑窗口执行的时候报错,那就不是类型转换的错误,而是需要将文件类型另存为UTF-8的文件类型即可。
如:String filePath= new String(path.getByte("iso8859-1"),"UTF-8");进行下强制转换后在进行读取即可。
通常格式有GBK、UTf-8、iso8859-1、GB2312,如果上面的强制转换不成功,依次进行这些格式的尝试,肯定是可以解决问题的。
备注:如果是黑窗口执行的时候报错,那就不是类型转换的错误,而是需要将文件类型另存为UTF-8的文件类型即可。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |