当前位置: 技术问答>java相关
一个程序路径问题!!!!!!!!!!!!!!!!!!!!!帮我看看呀
来源: 互联网 发布时间:2015-04-11
本文导语: 程序的意思是拷贝一个文件的内容,然后复制到所填写的文件路径下 但写路径时总说路径不正确如:c:boot.ini,但要是在程序中固定路径 即,用String sourceName= "c:\boot.ini";就是正确的, 下面两个路径一样都出现这个问题,不知...
程序的意思是拷贝一个文件的内容,然后复制到所填写的文件路径下
但写路径时总说路径不正确如:c:boot.ini,但要是在程序中固定路径
即,用String sourceName= "c:\boot.ini";就是正确的,
下面两个路径一样都出现这个问题,不知有人能解决否.
import java.io.*;
class TxtCopy
{
public static void main(String[]args)
{
byte b1[] = new byte[255];
byte b2[] = new byte[255];
byte b3[] = new byte[2056];
byte b4[] = new byte[2056];
try
{
System.out.println("请输入源文件名称: n");
System.in.read(b1,0,255);
//String sourceName= "c:\boot.ini";
//System.out.println(sourceName);
System.out.println("n请功输入目的文件名称:n");
System.in.read(b2,0,255);
String desName= new String (b2,0);
//String desName= "d:\java\tt.txt";
//System.out.println(desName);
System.out.println("-----------------------------------");
FileInputStream fileInput= new FileInputStrea(sourceName);
int bytes1=fileInput.read(b3,0,2056);
String sourceFile=new String (b3,0,0,bytes1);
FileOutputStream fileOutPut= new FileOutputStream(desName);
fileOutPut.write(b3,0,bytes1);
fileInput=new FileInputStream(desName);
int bytes2=fileInput.read(b4,0,2056);
String desFile=new String (b4,0,0,bytes2);
System.out.println("n原文件内容为: n");
System.out.println(sourceFile);
System.out.println("n目的文件内容为: n");
System.out.println(desFile);
}
catch(Exception e)
{
System.out.println(e.toString());
}
}
}
但写路径时总说路径不正确如:c:boot.ini,但要是在程序中固定路径
即,用String sourceName= "c:\boot.ini";就是正确的,
下面两个路径一样都出现这个问题,不知有人能解决否.
import java.io.*;
class TxtCopy
{
public static void main(String[]args)
{
byte b1[] = new byte[255];
byte b2[] = new byte[255];
byte b3[] = new byte[2056];
byte b4[] = new byte[2056];
try
{
System.out.println("请输入源文件名称: n");
System.in.read(b1,0,255);
//String sourceName= "c:\boot.ini";
//System.out.println(sourceName);
System.out.println("n请功输入目的文件名称:n");
System.in.read(b2,0,255);
String desName= new String (b2,0);
//String desName= "d:\java\tt.txt";
//System.out.println(desName);
System.out.println("-----------------------------------");
FileInputStream fileInput= new FileInputStrea(sourceName);
int bytes1=fileInput.read(b3,0,2056);
String sourceFile=new String (b3,0,0,bytes1);
FileOutputStream fileOutPut= new FileOutputStream(desName);
fileOutPut.write(b3,0,bytes1);
fileInput=new FileInputStream(desName);
int bytes2=fileInput.read(b4,0,2056);
String desFile=new String (b4,0,0,bytes2);
System.out.println("n原文件内容为: n");
System.out.println(sourceFile);
System.out.println("n目的文件内容为: n");
System.out.println(desFile);
}
catch(Exception e)
{
System.out.println(e.toString());
}
}
}
|
你应该把空格去掉!
String sourceName = new String(b1);
sourceName = sourceName.trim();
String desName= new String (b2,0);
desName = desName.trim();
String sourceName = new String(b1);
sourceName = sourceName.trim();
String desName= new String (b2,0);
desName = desName.trim();
|
改成这样吧c:/temp/a.txt 用"/"代替"" 没有问题的。
|
//String desName= "d:\javatt.txt";
|
String desName = "c:"+File.separator+"boot.ini";
|
我觉的你应该把输入的字符串如: c:book 处理一下,得到Java程序中需要的格式
c:\book 然后再把这个参数传给FileInputStream.同时在读取、创建时最好使用异常处理。
c:\book 然后再把这个参数传给FileInputStream.同时在读取、创建时最好使用异常处理。