gpt4 book ai didi

java - ArrayList 返回 null 的方法

转载 作者:行者123 更新时间:2023-12-01 23:27:01 25 4
gpt4 key购买 nike

我希望此方法返回包含目录中所有文件名的字符串列表。我声明的列表从该方法返回为 null。有谁知道为什么?下面发布了代码片段。

   public static String docxList() {
String path1 = "E:\\";
String files = null;
String display = null;
String dpmt=null;

//String variables declaration,
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
java.sql.Connection
con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","user","pass");
//Database connection Code
PreparedStatement ps=con.prepareStatement("select * from EMP_DB where EMP_ID='EI-12'");
ResultSet rs=ps.executeQuery();
rs.next();
dpmt=rs.getString("DEPARTMENT");

path1 =path1+dpmt; //New path generation of specific directory according to user department

File folder = new File(path1);
File[] listOfFiles = folder.listFiles();
for (int i = 0; i < listOfFiles.length; i++)
{
if (listOfFiles[i].isFile())
{
files = listOfFiles[i].getName();
String filename=files;
if(filename.indexOf(".")>0)
{
filename=files.substring(0,files.lastIndexOf("."));
}

display=('<'+"A HREF"+'='+"\""+"PDFs/"+dpmt+"/"+files+"\""+" "+"target"+'='+"\""+"targetiframe"+"\""+'>'+'<'+"font"+" size"+'='+"\"4\""+" color"+'='+"\"white\""+'>'+filename+"</font>"+"<"+"/A"+'>');
//Hyper-linked list of files.
ArrayList<String> al=new ArrayList<String>();
al.add(display);
//Adding all file names in a directory to a Arraylist.
}
}
}
catch(Exception ex)
{
System.out.print("Exception: "+ex+" in Dpmt Method.");
//Exception Display if any.
}

return al; //ArrayList doesn't generate list of files in the drectory.
}

最佳答案

您在 return 语句无法看到的范围内声明了数组列表。将以下语句放在 for 循环之前。

ArrayList<String> al = new ArrayList<String>();

所以,它看起来像这样-

File[] listOfFiles = folder.listFiles();
ArrayList<String> al = new ArrayList<String>();

for (int i = 0; i < listOfFiles.length; i++)

..其余代码..

编辑:

您还应该修改方法签名以返回列表,而不是字符串。

public static ArrayList<String> docxList()

关于java - ArrayList 返回 null 的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19834712/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com