JAVA从键盘输入信息,然后保存至文件text.txt中, 求指点

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA从键盘输入信息,然后保存至文件text.txt中, 求指点相关的知识,希望对你有一定的参考价值。

//从键盘输入内容至文件;
BufferedReader stdin=new BufferedReader(new InputStreamReader(System.in));//读键盘输入
FileWriter fout=new FileWriter("text.txt",true);
String str="";
while((str=stdin.readLine())!="\n")

System.out.println(str);
fout.write(str);

fout.close();

//结果:显示
Exception in thread "main" java.io.FileNotFoundException: text1.txt (拒绝访问。)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:138)
at java.io.FileInputStream.<init>(FileInputStream.java:97)
at java.io.FileReader.<init>(FileReader.java:58)
at test.main(test.java:14)

首先,为什么结果显示的是 text1.txt (拒绝访问)而你创建 FileWriter时用的是 text.txt

其次,while的条件有问题,String类型不能用 ==或者 !=来判断,要用 equals来判断。
错误的判断会导致程序走不到 close()方法,而你不调用 flush()方法内容就会留在缓冲区而写不到文件中,如果这时候你再次创建一个新的FileWirter来写这个文件,就会报拒绝访问的错误。
参考技术A 如果在win下出现,那么你的文件是只读的,不允许写,如果是在linux下请检查文件权限。追问

WIN下,canWrite属性为True;

参考技术B 要建立一个file的路径,然后写进去

Java从键盘上输入与输出

1 问题

以作业题三题为例,需要输入学生的成绩等级,然后反映出相应等级的成绩范围。直接在程序里面写出学生等级的方法不利于做出一些改变,在逻辑上也不符合常理,所以选择设置程序从键盘输入等级然后反馈出相应的成绩范围。

2 方法

这个程序需要先引用Scanner类,Scanner cin = new Scanner(Scanner.in)这一句语句是为了从键盘接收数据,System.out.println(“请输入等级:”)这一句是next方式接收字符串,if语句是判断是否还有输入,然后就是定义n,令n = 从键盘输入的一个字符串,在这里由于我们题目的一个特殊性,所以我们必须采用nextLine而不能采用next,因为nextLine是配合字符串使用的,next则是配合整数使用的,接下来,因为需要判断n是否是相应的等级A、B、C、D,所以只能使用switch…case这个语句,因为if、if…else、else if这几个语句需要满足布尔表达式,只有switch可以满足我们的需求,比较键盘的输入之后,正确的就输出,不正确的就跳过。

import java.util.Scanner;
public class 键盘输入
public static void main(String[] args)
Scanner cin = new Scanner(System.in);
System.out.println("请输入等级:");
if(cin.hasNextLine())
String n = cin.nextLine();
switch (n)
case "A":
System.out.println("85分以上(包括85分)");
break;
case "B":
System.out.println("70分以上(包括70分)");
break;
case "C":
System.out.println("60分以上(包括60)");
break;
case "D":
System.out.println("60分以下");
break;



3 结语

针对Java从键盘上输入与输出问题,提出使用Scanner类方法,通过Scanner类实验,证明该方法是有效的,本文的方法相对于其他的一些方法可能会有一点冗长,应用了Scanner类的方法,可能会相对比较复杂,但是此程序拥有大的延展性,可以对此程序有更多的一些拓展与延伸,在此后希望对此程序进行缩短,简化,或者对此程序进行更大的拓展与延伸,使其更加高级化。

以上是关于JAVA从键盘输入信息,然后保存至文件text.txt中, 求指点的主要内容,如果未能解决你的问题,请参考以下文章

c++从键盘输入字符串并保存成二进制文件

Unity3D中,如何把图像文件保存为数组并通过输入键盘信息调用?

I/O重定向

用汇编语言实现从键盘读一行信息,并存入用户定义的缓冲区buffer。如从键盘输入”myfriends”

从键盘上输入任意一个字符,求出它的ASCII码并输出

Java学习:将键盘录入的内容保存到指定文件中