Java 我想分离字符和数字,并将这些值写入文本文件
我使用一个查询从Db中获取所有值。我在Db中有一个8列,包含混合字符和数字。当我使用下面的技术时,我需要将字符和数字分开,因为循环并没有重复7次,它只保存了一次值,并且我只得到一个值,我在附上下面的图片来检查数据库中存在哪些值 在jsp页面中,我使用以下逻辑从Db中获取和分离值Java 我想分离字符和数字,并将这些值写入文本文件,java,oracle,jsp,Java,Oracle,Jsp,我使用一个查询从Db中获取所有值。我在Db中有一个8列,包含混合字符和数字。当我使用下面的技术时,我需要将字符和数字分开,因为循环并没有重复7次,它只保存了一次值,并且我只得到一个值,我在附上下面的图片来检查数据库中存在哪些值 在jsp页面中,我使用以下逻辑从Db中获取和分离值 String str = "SELECT PATIENTINSURANCE.VISITSAUTHORIZED,PATIENT.PATIENTID FROM PATIENTINSURANCE INNER JOIN PA
String str = "SELECT PATIENTINSURANCE.VISITSAUTHORIZED,PATIENT.PATIENTID FROM PATIENTINSURANCE INNER JOIN PATIENT ON PATIENTINSURANCE.PATIENTID=PATIENT.PATIENTID AND VISITSAUTHORIZED IS NOT NULL AND PATIENT.COMPANYID='"
+ companyId + "'";
DBAccess dbAccess = new DBAccess();
ArrayList<String> entries = new ArrayList<String>();
String a = "";
String number = "";
try {
List encList = dbAccess.selectAsList(str, 2);
if (encList.size() > 0) {
for (int i = 0; i < encList.size(); i++) {
System.out.println("the value of i is "+i);
List temp = (ArrayList) encList.get(i);
String visits = temp.get(0) != null ? ((String) temp
.get(0)) : "";
String patientNo = temp.get(1) != null ? ((String) temp
.get(1)) : "";
String letter = "";
System.out.println("the visits is "+visits);
int x = visits.length();
System.out.println("the size is "+x);
for (int j = 1; j <= x; j++) {
char c = visits.charAt(j);
if (Character.isDigit(c)) {
number = number + c;
%><strong><%=number%></strong><%
File file=new File("C:\\sample1.txt");
if(!file.exists()){
file.createNewFile();
}
FileWriter filewriter =new FileWriter(file.getAbsoluteFile());
BufferedWriter bufferedwirter =new BufferedWriter(filewriter);
bufferedwirter.write(number);
bufferedwirter.close();
System.out.println("Done succesfully");
}
else {
letter = letter + c; }
System.out.println("Visits are "+number);
} }
} else {
System.out.println("values of list is zero");
}
} catch (Exception e3) {
System.out.println();
}}%>
String str=“从PATIENTINSURANCE内部选择PATIENTINSURANCE.VISITSAUTHORIZED,PATIENT.PATIENTID=PATIENT.PATIENTID和VISITSAUTHORIZED不为NULL,PATIENT.COMPANYID=””
+companyId+“'”;
DBAccess DBAccess=新的DBAccess();
ArrayList条目=新的ArrayList();
字符串a=“”;
字符串编号=”;
试一试{
List encList=dbAccess.selectAsList(str,2);
如果(encList.size()>0){
对于(int i=0;i
我得到的输出只有第一个值,即:
wt45
我需要获得以下输出:
wt45wt45wt4588tyde66wt45wt45wt45
在文本文件中,我需要像这样打印454588664545
但我得到的输出是
45此代码的一个问题是,您在for循环中使用FileWriter打开文件。请将以下代码移出for循环:
File file=new File("C:\\sample1.txt");
if(!file.exists()){
file.createNewFile();
}
FileWriter filewriter =new FileWriter(file.getAbsoluteFile());
BufferedWriter bufferedwirter =new BufferedWriter(filewriter);
number = " ";
并在for循环后关闭文件。DBAccess类中有什么?您是否能够在jsp中显示所需的值:@Sanjeev它包含'resultset=stmt.executeQuery(查询)与数据库连接逻辑相关的代码,我需要显示,也需要将这些值写入文本文件,然后是创建列表的代码。对吗?我也想看到这些代码。它当前是否在jsp上显示所需的结果?我不会将列表添加到任何字段,它只是声明本身。