输入输出流实验内容:
1)利用流操作,在屏幕上显示文本文件内容及文件的路径、修改时间、大小、长度、可读性和可修改性等属性。
2)借助流操作,以图形界面的方式向文本文件添加记录并显示其记录内容。实验要求:
文件名通过命令行以参数方式输入。程序需要判断参数提供文件的存在性。待添加的记录通过TextField控件输入,文件内容通过TextArea控件显示。
1)利用流操作,在屏幕上显示文本文件内容及文件的路径、修改时间、大小、长度、可读性和可修改性等属性。
2)借助流操作,以图形界面的方式向文本文件添加记录并显示其记录内容。实验要求:
文件名通过命令行以参数方式输入。程序需要判断参数提供文件的存在性。待添加的记录通过TextField控件输入,文件内容通过TextArea控件显示。
问题2,给文本文件添加记录,利用getText()方法
file.lastModified() //获得与1970/1/1相差得毫秒数,可计算时间
file.length(); //长度,大小和长度一个概念,长度就是字节数,可以换算成文件大小
可读与可写可以直接设置
boolean setReadable(boolean readable, boolean ownerOnly)
设置此抽象路径名的所有者或所有用户的读权限。
boolean setReadOnly()
标记此抽象路径名指定的文件或目录,从而只能对其进行读操作。
boolean setWritable(boolean writable)
设置此抽象路径名所有者写权限的一个便捷方法。
boolean setWritable(boolean writable, boolean ownerOnly)
设置此抽象路径名的所有者或所有用户的写权限。 显示内容等直接使用BufferedReader br = new BufferedReader(new InputStreamReader(new File("路径")));
追加内容使用PrintWriter pw=new PrintWriter(new BufferedWriter(new FileWriter("徐路径",true)));至于GUI,按照描述,十分简单,就不说了
{
private Frame f;
private MenuBar menuBar;
private Menu fileMenu;
private MenuItem openItem,saveItem,closeItem;
private FileDialog openDialog,saveDialog;
private TextArea ta;
private File file;
MyMenu()
{
f = new Frame("mywindow");
f.setLayout(new FlowLayout());
f.setSize(700,600);
f.setLocation(300,150); menuBar = new MenuBar();
fileMenu = new Menu("文件"); openItem = new MenuItem("打开");
saveItem = new MenuItem("保存");
closeItem = new MenuItem("退出");
openDialog = new FileDialog(f,"我的打开",FileDialog.LOAD);
openDialog.setLocation(300,200); saveDialog = new FileDialog(f,"我的保存",FileDialog.SAVE); fileMenu.add(openItem);
fileMenu.add(saveItem);
fileMenu.add(closeItem);
ta = new TextArea(34,96); menuBar.add(fileMenu); f.setMenuBar(menuBar);
f.add(ta); myEvent();
f.setVisible(true);
}
private void myEvent()
{
saveItem.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
if(file==null)
{
saveDialog.setVisible(true);
String dir = saveDialog.getDirectory();
String name = saveDialog.getFile();
if(dir==null || name==null)
{
return ;
}
file = new File(dir,name);
}
try
{
BufferedWriter bufw = new BufferedWriter(new FileWriter(file)); bufw.write(ta.getText());
bufw.flush();
bufw.close();
}
catch (IOException ex)
{
System.out.println("save:"+ex.toString());
}
}
}); openItem.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{ openDialog.setVisible(true); String dir = openDialog.getDirectory();
String name = openDialog.getFile();
if(dir==null || name==null)
{
return ;
}
ta.setText("");
//System.out.println(dir+".."+name);
file = new File(dir,name);
try
{
BufferedReader bufr =
new BufferedReader(new FileReader(file)); String line = null;
while((line=bufr.readLine())!=null)
{
ta.append(line+"\r\n");
}
bufr.close();
}
catch (IOException ex)
{
System.out.println("read:"+ex.toString());
}
}
}); closeItem.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.exit(0);
}
}); f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
}
}class MyMenuDemo
{
public static void main(String[] args)
{
new MyMenu();
//System.out.println("Hello World!");
}
}
不过,题目是这样的
实验内容:
1)利用流操作,在屏幕上显示文本文件内容及文件的路径、修改时间、大小、长度、可读性和可修改性等属性。
2)借助流操作,以图形界面的方式向文本文件添加记录并显示其记录内容。实验要求:
文件名通过命令行以参数方式输入。程序需要判断参数提供文件的存在性。待添加的记录通过TextField控件输入,文件内容通过TextArea控件显示。