一个程序路径问题!!!!!!!!!!!!!!!!!!!!!帮我看看呀

newmcz 2002-03-07 11:07:23
程序的意思是拷贝一个文件的内容,然后复制到所填写的文件路径下
但写路径时总说路径不正确如: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());
}
}
}
...全文
25 12 打赏 收藏 举报
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
newmcz 2002-03-07


我在程序总固定路径如:c:\\boot.ini是可以的
但我在MS_DOS中执行的时候总是提示路径不正确,
我输入c:\boot.ini,c:\\boot.ini.c:/boot.ini.c://boot.ini 都不行,
能否帮我调试一下该程序,谢谢了

  • 打赏
  • 举报
回复
newmcz 2002-03-07
还是不行呀

刚才为了调试改了程序(这样编译是有错的)
//String sourceName= "c:\\boot.ini";
//System.out.println(sourceName);
应为一下:

String sourceName= "c:\\boot.ini";
System.out.println(sourceName);

否则出错,
能帮我调试一下么,

  • 打赏
  • 举报
回复
skyyoung 2002-03-07
改成这样吧c:/temp/a.txt 用"/"代替"\" 没有问题的。
  • 打赏
  • 举报
回复
newmcz 2002-03-07
还好我的问题解决了
用了knight_qmh(辉) 的方法加sourceName = sourceName.trim();
desName = desName.trim();
就达到了目的

非常感谢各位了


  • 打赏
  • 举报
回复
FY2693 2002-03-07
我觉的你应该把输入的字符串如: c:\book 处理一下,得到Java程序中需要的格式
c:\\book 然后再把这个参数传给FileInputStream.同时在读取、创建时最好使用异常处理。
  • 打赏
  • 举报
回复
knight_qmh 2002-03-07
你应该把空格去掉!
String sourceName = new String(b1);
sourceName = sourceName.trim();

String desName= new String (b2,0);
desName = desName.trim();
  • 打赏
  • 举报
回复
newmcz 2002-03-07
u p
  • 打赏
  • 举报
回复
newmcz 2002-03-07
谢谢以上各位:
我的意思是用JAVAC编译的时候是正确的,
程序在运行的时候报错,就是我输入路径后才出错,就是路径写的不对

提示:
java.io.FileNotFoundExecption:d:\tt.txt
(文件名,目录名或卷标语法不正确)

  • 打赏
  • 举报
回复
aprim 2002-03-07
String desName = "c:"+File.separator+"boot.ini";
  • 打赏
  • 举报
回复
网络咖啡 2002-03-07
学习
  • 打赏
  • 举报
回复
javagoo 2002-03-07
//String desName= "d:\\java\tt.txt";
  • 打赏
  • 举报
回复
newmcz 2002-03-07
u p
  • 打赏
  • 举报
回复
发帖
Java SE

6.2w+

社区成员

Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
帖子事件
创建了帖子
2002-03-07 11:07
社区公告
暂无公告