choice定义:
choice=new Choice();
choice.add("training1.txt");
choice.add("training2.txt");
choice.add("training3.txt");
然后有:
choice.addItemListener(this);
然后下面:
public void itemStateChanged(ItemEvent e){
String fileName=choice.getSelectedItem();
File file=new File(fileName);
trainedChinese=chinese.getChinesecharacters(file);
k=0;
mycard.show(pCenter, "hanzi");
}
问题是:我在面板上选择某个trainingx.txt后,事件运行时,File file=new File(fileName);不应该是在程序的同一目录下新建一个文件么,怎么没有呢
解决方案 »
- 关于junit4中testsuite使用的问题
- java类名可以用Class这类的么?
- Java SocketChannel.write
- [javascript求助] event的cancelBubble属性问题
- 一个GUI的很小的问题
- 100 分,三个JAVA对SQL操作的问题(批量导入,导出,输出报表)
- 毕业的苦恼:做JAVA到底需不需要研究生?
- 为什么使用GridLayout时设置不了每个单元的大小阿?
- 一个令人郁闷的问题!!!
- kjava中资源有限,可是我要写很多的form如何减少对内存的耗费???
- java程序中的一个疑问
- 用Exception还是用具体的IOException的哪个更好
————————上面中文API上的原话————————————————————File file=new File(fileName)这个不会创建文件,只是以fileName为文件名或目录名映射一个逻辑文件。这个文件和系统中的实际文件没有关系。但你可以用file.exist()来判断实际的系统中是不是存在这样的一个文件。
你可以在系统中(硬盘上)创建和file一致的文件,还可以判断与file(这个是抽象的)对应的实际文件(这个是实际存在的)是文件还是目录等操作。详细的方法查一下API。
/*程序中产生10个随机整数(用(int)100*Math.random()生成),
将它们存入一个数据文件,再从该文件中读取数据,并在屏幕上显示出来。
使用File类判断当前目录中是否已经存在文件data.dat,
如存在,则中断程序的运行,否则继续;
使用DataOutputStream及相关IO流类将随机产生的6个整数存入数据文件data.dat;
使用DataInputStream及相关IO流类从数据文件data.dat读取数据,并在屏幕上显示出来。*/
import java.io.*;
public class lab11_2
{
public static void main(String args[])
{
try
{
File file=new File("data.dat");//****************
if(!file.exists())
{
FileOutputStream data=new FileOutputStream(file);
DataOutputStream out=new DataOutputStream(data);
for(int i=0;i<6;i++)
{
out.writeInt((int)(100*Math.random()));
}
file.flush();
out.close();
data.close();
FileInputStream fis = new FileInputStream(file);
DataInputStream in= new DataInputStream(fis);
for(int i=0;i<6;i++)
{
System.out.println(in.readInt());
}
in.close();
fis.close();
}
else
System.out.println("data.dat already exist");
}
catch(IOException e)
{
System.out.println("data.dat already exist");
}
}
}为什么这个就能建一个文件呢
是FileOutputStream data=new FileOutputStream(file);这一句建的,后面的 out.writeInt()给文件加了内容.