java源文件编译时要放在哪里?

我用的是Javac编译器,环境变量三个都设置好了。用记事本写的代码,可是在命令提示窗口编译操作时,还是提示:cannot read。我想问问在编译时,源文件要放在哪里?或者我是出了什么错误?
代码如下:
public calss HelloWorldApp
{
public static void main(String args[])
}
System.out.println("hello world!");
}
}
保存的名字和类名一样的。HelloWorldApp.java
解决我问题者再加50分!classpath变量已经设置好了,也可以编译出.class后缀的文件了,可现在运行时一定要输入java -classpath C:\java chengfa。才能显示出结果。chengfa是乘法口诀表的源代码。
CLASSPATH变量:.;C:\Program Files\Java\j2sdk1.5.0\LIB;C:\Program Files\Java\j2sdk1.5.0\demo;C:\java。
JAVA-HOME:C:\Program Files\Java\j2sdk1.5.0
PATH:C:\Program Files\Java\j2sdk1.5.0\bin。
我是安装在默认安装的C盘的,几个文件包分别是j2re1.5.0、j2sdk1.5.0、jdk1.6.0-02、jre1.6.0-02、jre1.6.0-04、jre6。这样的设置是对的吧?如果不对的话该怎么设置?
现在发现编写的其他程序又出现了之前的问题:cannot read。而且之前可以编译出来的Hellow程序现在编译不出来了。

很可能是编译的路径没选对,用绝对路径也可以,用相对路径也可以,绝对路径:就是cmd调出管理员窗口后,输入javac E:\xuexi\HelloWord.java。其中E:\xuexi\HelloWord.java就是源程序HelloWord.java的绝对路径,即源程序文件在哪里,它的绝对路径就是从类似上述例子的路径。相对路径:一直点一直点,找到你写的源文件HelloWord.java,然后在最上面路径那一栏中把原来的名字全部删掉,输入cmd,这就是相对路径。例如HelloWord.java在E:\xuexi下,只需要把最上面路径栏里的E:\xuexi删掉,换成cmd回车就可以了,最后再输入javac HelloWord.java就可以编译。如果有错误也会报错。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-03-31
原因很简单 就是安装的jdk只会在默认盘符下查找java文件(不能用文件夹包裹)

这时候运行java文件就要切换路径

例如你的 H.java放在c盘下(没有文件夹包裹 就不会出现你说的设置路径)

或者你用文件夹包裹了 即H.java在文件夹java下

在dos编译时就要切换路径 cd/java

javac H、java

java H

在其他盘符类似 只需先运行下 X: X代表盘符

你把java文件放在桌面上 jdk是无法读取的 不管用不用文件夹都读取不到追问

编译时我就是切换到了C盘根目录的文件夹了,但是还是cannot read。

追答

你之前说你可以进行编译 你到底安装了几个jdk 而且 CLASSPATH变量:.;C:\Program Files\Java\j2sdk1.5.0\LIB;C:\Program Files\Java\j2sdk1.5.0\demo;C:\java。 这个变量是怎么弄的

我建议是 你把之前的卸载 在安装 在配置好环境变量 最好是重启下
首先确定jdk和自己的系统一致 X86对应32 X64对应64
win7环境变量配置 (Xp等系统略有不同)
1.右键计算机 —> 属性 —> 左边的“高级系统设置” —> “高级”选项卡 —> 下面“环境变量”系统环境变量
变量名 值
classpath 点分号默忘记了-----》 .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME\lib\tools.jar;
path 点分号默忘记了-----》 .;%JAVA_HOME%\bin
上面之间复制 .;%JAVA_HOME% 是调用jdk的安装路径
这样 升级jdk后 只需要修改jdk版本号就ok了 即只需要改一个变量值即JAVA_HOME的
下面的变量名复制 安装路径换成你自己的
JAVA_HOME F:\Program Files\Java\jdk1.6.0_31
在运行 java和javac命令 正常则为成功

导致运行找不到文件的问题
第一种情况

首先在确定文件名 是否有隐藏后缀名的问题 即文件名实际是X.java.txt 出现这种情况就要 修改操作如下

win7 在控制面板(大图标模式) 找文件夹选项 在点击查看 取消以勾选的隐藏已知文件的扩展名

Xp 把桌面我的电脑打开 在弹出对话框上面找到文件夹选项 后面操作基本相似然后修改 文件后缀名(扩展名)

第二种 情况 运行也可以使用下面的 javac 和java命令

你jdk安装在c盘 而文件在其他盘 导致的这时dos界面运行命令应该先是

X: X代表盘符 即进入X盘
cd/X 这X代表文件夹名 进入文件夹

在运行 javac x.java x.java是文件名 编译文件检测语法错误

java x x 代表文件名 但没有扩展名

另外可以下载eclipse 运行java
这样就完成了

追问

自然就安装一个jdk。

追答

,几个文件包分别是j2re1.5.0、j2sdk1.5.0、jdk1.6.0-02、jre1.6.0-02、jre1.6.0-04、jre6 那这是怎么回事 你把jdk卸载把相关文件夹删掉后重装 安装上面操作即可

第2个回答  2012-03-13
源文件放到哪儿都可以啊,关键是进入命令符提示窗口的时候要准确定位到源文件的位置,然后在进行编译,也就是运行javac HelloWorldApp.java。追问

怎么定位?

追答

一:你要把你的.txt文件格式改为.java。然后放到一个地方,比如说你放到了d盘的一个xuexi文件夹中。所以你的代码所在的位置就是,D:xuexi//HelloWorldApp.java
二,你打开命令提示符,就要首先输入D: ,然后回车,等到出现D:\>的时候,在输入cd xuexi,然后回车,就会出现D:\xuexi>。
三,接着你就可以输入javac HelloWorldApp.java,然后回车,等到编译通过之后输入java HelloWorldApp

追问

classpath变量已经设置好了,也可以编译出.class后缀的文件了,可现在运行时一定要输入java -classpath C:\java chengfa。才能显示出结果。chengfa是乘法口诀表的源代码。

追答

这个应该是你的计算机名字是汉字导致的。

追问

我把计算机名和账号都已经改成字母拼音了,还是一样不行

本回答被提问者和网友采纳
第3个回答  2012-03-15
你先在文件夹设置中把隐藏已知文件的扩展名取消,然后看看你的文件名是否变成了HelloWorldApp.java.txt

如果还不行,请检查classpath环境变量中是否有一个小数点(“.;C:\java\bin\lib\rt.jar”)

补充回答:能否请你dir一下那个目录呢.
第4个回答  2015-10-20
源文件放到哪儿都可以啊,关键是进入命令符提示窗口的时候要准确定位到源文件的位置,然后在进行编译,也就是运行javac HelloWorldApp.java
相似回答