java 的File api 不能操作文件内容,
如果想读到内容的话,可以考虑用InputStream, OutputStream,
如果是propertise文件,可以考虑用java.util.Properties的接口,按照key来读他的value
如果想读到内容的话,可以考虑用InputStream, OutputStream,
如果是propertise文件,可以考虑用java.util.Properties的接口,按照key来读他的value
new FileReader("file1")); DataOutputStream out = new DataOutputStream(
new BufferedOutputStream(
new FileOutputStream("file2")));String s = new String();
while((s = in.readLine()) != null)
out.println(s);
in.close();
out.close();大概就是这个意思,当然异常自己捕捉了..
FileOutputStream fo=new FileOutputStream("youroutfilename");
int temp;
while((temp=fi.read())!=-1){
fo.write(temp);
}
fi.close();
fo.close();
* Constructor for MyFile
*/
public MyFile(String arg0) {
super(arg0);
} /**
* Constructor for MyFile
*/
public MyFile(String arg0, String arg1) {
super(arg0, arg1);
} /**
* Constructor for MyFile
*/
public MyFile(File arg0, String arg1) {
super(arg0, arg1);
} /**
* create new file with new dir
* return true if create new file sucess
* return false if file already exits
*/
public boolean createNewFile() throws IOException
{
String path = this.getAbsolutePath();
if( ! this.exists() )
{
File parent = this.getAbsoluteFile().getParentFile();
if(parent.exists() || parent.mkdirs())
{
if(super.createNewFile())
{
return true;
}
}
return false;
}
return false;
}
/**
* copy myself to another location
*/
public boolean copyFileToNewDir(String dir) throws IOException
{
MyFile newFile = new MyFile(dir);
newFile.createNewFile(); return true;
}
/**
* copy from one fsName to fDName
*/
public static void CopyFiles(String fSName,String fDName)
{
File inFile = new File(fSName);
File outFile = new MyFile(fDName);
if (inFile.isDirectory())
{
outFile.mkdir();
File[] listFiles = inFile.listFiles();
for(int i = 0;i < listFiles.length;i ++)
{
String fileName1 = listFiles[i].getPath();
String fileName2 = outFile.getPath() + System.getProperty("file.separator") + listFiles[i].getName();
System.out.println(fileName1 + " " + fileName2);
CopyFiles(fileName1,fileName2);
}
}
if (inFile.isFile())
{
try
{
DataInputStream in = new DataInputStream(
new BufferedInputStream(
new FileInputStream(inFile)));
DataOutputStream out;
if (outFile.exists())
{
out = new DataOutputStream(
new BufferedOutputStream(
new FileOutputStream(fDName)));
}
else
{
outFile.createNewFile();
out = new DataOutputStream(
new BufferedOutputStream(
new FileOutputStream(outFile)));
}
byte [] buf = new byte[1024];
int nums,offset=0;
while ((nums = in.read(buf,offset,1024)) != -1)
{
out.write(buf,offset,nums);
}
System.out.println("nums:" + nums);
out.close();
in.close();
}
catch (FileNotFoundException e)
{
System.out.println("File Not Find!");
}
catch (IOException e)
{
System.out.println(e.getMessage());
}
}
} public static void moveFiles(String fSName,String fDName)
{
File inFile = new File(fSName);
File outFile = new MyFile(fDName);
if (inFile.isDirectory())
{
outFile.mkdir();
File[] listFiles = inFile.listFiles();
for(int i = 0;i < listFiles.length;i ++)
{
String fileName1 = listFiles[i].getPath();
String fileName2 = outFile.getPath() + System.getProperty("file.separator") + listFiles[i].getName();
System.out.println(fileName1 + " " + fileName2);
CopyFiles(fileName1,fileName2);
} }
if (inFile.isFile())
{
try
{
DataInputStream in = new DataInputStream(
new BufferedInputStream(
new FileInputStream(inFile)));
DataOutputStream out;
if (outFile.exists())
{
out = new DataOutputStream(
new BufferedOutputStream(
new FileOutputStream(fDName)));
}
else
{
outFile.createNewFile();
out = new DataOutputStream(
new BufferedOutputStream(
new FileOutputStream(outFile)));
}
byte [] buf = new byte[1024];
int nums,offset=0;
while ((nums = in.read(buf,offset,1024)) != -1)
{
out.write(buf,offset,nums);
}
System.out.println("nums:" + nums);
out.close();
in.close(); }
catch (FileNotFoundException e)
{
System.out.println("File Not Find!");
}
catch (IOException e)
{
System.out.println(e.getMessage());
}
}
inFile.delete();
}
}
{
//get file
File fileIn=new File(strFilePath); BufferedReader bfr = null; try
{
if(fileIn.exists())
{
//get BufferedReader from the file
bfr=new BufferedReader(new FileReader(fileIn));
//read one line of the file and make a String
String strResult;
while((strResult = bfr.readLine()) != null)
{ //call insertData to insert the data in string
System.out.println(strResult)
}
bfr.close();
}
}
catch(DException ex)
{
logger.error("文件格式不正确");
throw ex;
}
finally
{
if ( bfr != null )
bfr.close();
} }
class FileTrans {
public static void main(String[] args){
try{
//储存源文件和目标文件地址的变量
String inStr="";
String outStr=""; InputStreamReader ir = new InputStreamReader(System.in);
BufferedReader in = new BufferedReader(ir); System.out.println("Please type any key to begin or quit");
String cmd = in.readLine(); System.out.println("Please Input The Source File Address");
inStr = in.readLine();
System.out.println("Please Output The Source File Address");
outStr = in.readLine();
RandomAccessFile inFile = new RandomAccessFile(inStr,"r");
RandomAccessFile outFile = new RandomAccessFile(outStr,"rw");
String s = inFile.readLine();
while(s != null)
{
outFile.seek(outFile.length());
outFile.writeBytes(s);
s = inFile.readLine();
} System.out.println("quit");
}
catch(IOException e){
}
finally{
}
}
}源文件里有几行字母,而写到目标文件中所有字母都写在了一行,请问怎么回事啊