求助java大神,如何获取textfile里输入的内容?
调用方法如下:
//初始化输入框对象jtfJTextField jtf = new JTextField()
;//获取文本内容,用getText()得到String input = jtf.getText();这样input就是你输入的文本内容。
java文件保存与打开?
可以通过BufferedReader 流的形式进行流读取,之后通过readLine方法获取到每行的内容,之后通过OutputStreamWriter进行文件写入。 BufferedReader bre = null;OutputStreamWriter pw = null;//定义一个流try {String file = "D:/test/test.txt"
;bre = new BufferedReader(new FileReader(file))
;//此时获取到的bre就是整个文件的缓存流pw = new OutputStreamWriter(new FileOutputStream(“D:/test.txt”),"GBK")
;//确认流的输出文件和编码格式,此过程创建了“test.txt”实例while ((str = bre.readLine())!= null) // 判断最后一行不存在,为空结束循环{pw.write(str )
;//将要写入文件的内容,写入到新文件};
pw.close()
;//关闭流bre .close()
;//关闭流备注:文件流用完之后必须及时通过close方法关闭,否则会一直处于打开状态,直至程序停止,增加系统负担。
关于在Java编程的时候如何读取一些字典文件,文件的后缀名为dict或者dct?
dic是一种词典文件格式,Dic文件由若干单词单元组成,每一个单元包含了单词与解释信息,每个单词单元以单词开始,解释结束。相邻的两个单词单元之间没有间隔(这样使文件尽可能的小)。 打开方式:用16位或者32位文件编辑器打开这类文档 Windows操作系统的记事本(16位)可以打开,一些词典软件(如金山词霸)可以打开 “开心字典”、“中文化精灵”、“Resource Modifier”等软件的“对照文本格式”支持这种.dic文件 560+等NP系列的专业词典的格式,只能在机型上使用;打开词典软件,里边看有无添加词库选项。
java中有按字节读取的InputStream和按字符读取的Reader,那有没有按比特bit读取的?
这个肯定是有的。电脑上所有的数据其实都是用字节(byte)来表示的,字节是所有数据的基础,读取字节是io中最基本的一个功能。java中inputstream就是可以直接读取字节的。inputstream中read()方法就是读取读取单个字节的,而read(byte[])是读取一个字节数组的。
java的io组成如下
由上图可见inputstream是输入流的一个基类,java中是不能直接创建一个基类的,所以要获取一个inputstream只能生成一个具体的实现类,例如fileinputstream(文件输入流)。java io中采用了装饰器模式(体现在类的构建器上),通过装饰器可以使装饰类增加额外的功能。例如你想按一个int或者long来读取数据,那你可以使用datainputstream来读取,用一个inputstream来构建一个datainputstream中就可以了。
JAVA的IO流读取可以分为两种流读取:
1、字节流:可以用于读写二进制文件及任何类型文件
2、字符流:可以用于读写文本文件,不能操作二进制文件
其中字节流就是以字节读取的。
字节流和字符流的区别:
读写单位不同:字节流以字节(8bit)为单位,字符流以字符为单位,根据码表映射字符,一次可能读多个字节。
处理对象不同:字节流能处理所有类型的数据(如图片、avi等),而字符流只能处理字符类型的数据。
结论:只要是处理纯文本数据,就优先考虑使用字符流。 除此之外都使用字节流。
java.io下面有两个抽象类:Inputstream和Reader lnputstream是表示字节输入流的所有类的超类Reader是用于读取字符流的抽象类Inputstream提供的是字节流的读取,而非文本读取,这是和Reader类的根本区别。即用Reader读取出来的是char数组或者String,使用Inputstrea田读取出来的是byte数组。弄清了两个超类的根本区别,再来看他们底下子类的使用,这里只对最常用的几个说明

