Java 如何在字符串行中引用字符串路径?
我有一个字符串,它位于一个单独的类中,我想在另一个字符串中引用它Java 如何在字符串行中引用字符串路径?,java,string,methods,Java,String,Methods,我有一个字符串,它位于一个单独的类中,我想在另一个字符串中引用它 public static void filedemo(String[] args) { FileDemo.readLibDir("C:/test/lib"); } public static void readLibDir(String directoryname) { File dir = null; String[] paths; try { dir = new File(d
public static void filedemo(String[] args) {
FileDemo.readLibDir("C:/test/lib");
}
public static void readLibDir(String directoryname) {
File dir = null;
String[] paths;
try {
dir = new File(directoryname);
paths = dir.list(new FilenameFilter() {
public boolean accept(File directory, String name) {
// return only files that end .jar extension
return name.toLowerCase().endsWith(".jar");
}
});
// enhanced for loop used to iterate through the array
for (String path : paths) {
// check to see if jar filename exist
boolean found = FileNameStorage.exists(path);
if (found) {
// didn't find
FileNameStorage.delete(path);
} else {
System.out.print(path+" was not found.\n ");
}
}
} catch (Exception e) {
// if any error occurs
e.printStackTrace();
}
}
public class HtmlDataTable {
String lines = "<tr> <td>" + jarfilename + "</td> <td>"
+ paths + " </td> <td>" + jarfilename
publicstaticvoidfiledemo(字符串[]args){
FileDemo.readLibDir(“C:/test/lib”);
}
公共静态void readLibDir(字符串directoryname){
File dir=null;
字符串[]路径;
试一试{
dir=新文件(directoryname);
path=dir.list(新文件名过滤器(){
公共布尔接受(文件目录、字符串名称){
//仅返回以.jar扩展名结尾的文件
返回name.toLowerCase().endsWith(“.jar”);
}
});
//用于遍历数组的增强for循环
用于(字符串路径:路径){
//检查jar文件名是否存在
boolean found=FileNameStorage.exists(路径);
如果(找到){
//没有找到
FileNameStorage.delete(路径);
}否则{
System.out.print(未找到路径+);
}
}
}捕获(例外e){
//如果发生任何错误
e、 printStackTrace();
}
}
公共类HtmlDataTable{
字符串行=”“+jarfilename+“”
+路径+“”+jarfilename
您的路径
变量是某个方法的局部变量。因此,无法从任何其他类(甚至是同一类中的任何其他方法)访问该变量。请查看或通过google了解它
如果要从其他类访问
路径
,最简单的选择是将其作为实例变量并将其公开。如注释中所述,变量路径
应定义为类成员(当前在静态方法中定义为局部变量).只有这样,您才能将其提供给外部呼叫方 一种方法如下:
public class FileDemo {
private final File dir;
// constructor
public FileDemo (String directoryname) {
dir = new File(directoryname);
}
public String[] getPaths() {
return dir.list(new FilenameFilter() {
public boolean accept(File directory, String name) {
// return only files that end .jar extension
return name.toLowerCase().endsWith(".jar");
}
});
}
:
public static void main(String[] args) {
FileDemo demo = new FileDemo("C:/test/lib");
String[] paths = demo.getPaths();
: // now it is available
}
}
不幸的是,在当前的形式下,这看起来更像是一个陈述而不是一个问题。你为什么要恢复编辑?我不确定什么类中的哪个字符串需要访问?@MaxZoom字符串路径,原始问题被编辑,我试图理解为什么如果我犯了错误,我可以在将来纠正它。你能包括吗整个
FileDemo
类代码都使用它?我如何创建路径的实例变量?只需在类中的所有方法之外声明它…就像你如何声明行
字符串一样。我没有编写代码,所以我不确定如何在类中的所有方法之外声明它。我对你的结构感到困惑r代码。FileDemo类中是否包含所有这些方法?事实上,我看到您添加了一个主方法,也忽略了这个问题。只有前两个方法是相关的。第三个静态方法只是演示如何使用这些方法的驱动程序。可以删除它,并在调用程序中创建类似的代码。