最近我看到了输入输出流,写了一个JAVA小程序,是关于读取文件的操作,只要给出文件的路径就可以了,
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
public class fileinputstream implements ActionListener
{
JFrame frame=new JFrame("读取文件");
JButton button=new JButton("读取");
JTextArea area=new JTextArea(70,80);
JTextField text=new JTextField("fileinputstream.java");
JPanel panel=new JPanel();
public fileinputstream()
{
Container cp=frame.getContentPane();
panel.add(button);
panel.add(text);
cp.add(panel,BorderLayout.NORTH);
cp.add(area,BorderLayout.CENTER);
button.addActionListener(this);
frame.setBounds(300,300,500,600);
frame.setVisible(true);
frame.pack();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args)
{fileinputstream diao=new fileinputstream();}
public void actionPerformed(ActionEvent e)
{ try{
File file=new File(text.getText());
FileInputStream input=new FileInputStream(file);
byte by[]=new byte[1000];
int b=input.read(by);
String s=new String(by,0,b,"Default");
area.setText(s);}catch(IOException e2){area.setText("找不到文件");}
}
}
但是还不能读取汉字,只能读取英文,这是不足的地方,请朋友们支持一下,
那怎么修改程序才能使它读取汉字呢,要用到什么类.和方法,厚道一些,别看了码源不指点一些
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
public class fileinputstream implements ActionListener
{
JFrame frame=new JFrame("读取文件");
JButton button=new JButton("读取");
JTextArea area=new JTextArea(70,80);
JTextField text=new JTextField("fileinputstream.java");
JPanel panel=new JPanel();
public fileinputstream()
{
Container cp=frame.getContentPane();
panel.add(button);
panel.add(text);
cp.add(panel,BorderLayout.NORTH);
cp.add(area,BorderLayout.CENTER);
button.addActionListener(this);
frame.setBounds(300,300,500,600);
frame.setVisible(true);
frame.pack();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args)
{fileinputstream diao=new fileinputstream();}
public void actionPerformed(ActionEvent e)
{ try{
File file=new File(text.getText());
FileInputStream input=new FileInputStream(file);
byte by[]=new byte[1000];
int b=input.read(by);
String s=new String(by,0,b,"Default");
area.setText(s);}catch(IOException e2){area.setText("找不到文件");}
}
}
但是还不能读取汉字,只能读取英文,这是不足的地方,请朋友们支持一下,
那怎么修改程序才能使它读取汉字呢,要用到什么类.和方法,厚道一些,别看了码源不指点一些
解决方案 »
- 窗口中如何调用applet
- clone()方法复制Spring容器中的bean,比如SessionFactory,那么这个克隆的对象,会受到Spring容器管理吗?求大虾指教!!!
- 请问取得oracle 中long raw 字段的值
- 怎么删除字符串里的单个字符?
- 为什么会出现乱码?
- 以前做J2EE对J2SE没有太多的研究,现需要做一个J2SE的桌面应用程序,请大家给推荐几本书
- 编程爱好者请进
- 600分向高手学习JNDI!
- 请问在JB5里怎样加入其它的JAR文件??我觉得在这方面比VJA3。5比JB5方便些
- 关于StringBuffer的一个小问题,希望解答下!
- 菜鸟问题 继承
- 求run.bat文件写运行jar包,依赖的jar包如何写?
File file=new File(text.getText());
FileInputStream input=new FileInputStream(file);
byte by[]=new byte[1000];
int b=input.read(by);
String s=new String(by,0,b,"Default");
area.setText(s);
}catch(IOException e2){
area.setText("找不到文件");
} 问题1,你的文件超过1000字节,后面就不要了?
问题2,不清楚new String(by,0,b,"Default")中的“default”是否可以这样用。
List lines=new ArrayList();
try {
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
while (br.readLine() != null) {
String aLine=br.readLine();
lines.add(aLine);
}这个应该可以实现汉字读取吧