웹 응용 프로그램에서 텍스트 파일을 만드는 데 사용하는 Java 클래스가 있습니다. 결과를 얻을 수 및 파일에 대한 고정 된 형식으로 작성하고 우리의 윈도우 서버 중 하나에 저장, 쿼리를 실행,웹 응용 프로그램 : 리눅스 웹 서버의 Windows 서버 공유에 txt 파일 저장
private void CreatePaymentFile(String QueryCriteria) {
BigDecimal TotalPay;
DecimalFormat df2 = new DecimalFormat("00000");
String RecordString = null;
try{
String fileName = "\\\\fileandprint\\Apps\\Jury\\SHARE\\Payment_" + shortdateToday + SeqID + "24400.txt";
File f = new File(fileName);
FileOutputStream fop = new FileOutputStream(f);
SetPaymentFileName("Payment_" + shortdateToday + SeqID + "24400.txt");
FileWriter PaymentStream = new FileWriter(fileName,true);
BufferedWriter out = new BufferedWriter(PaymentStream);
// TODO Auto-generated method stub
String RecordStringFormat = "%-220s%-3s%-4s%-3s%-5s%-5s%-5s%-5s%-30s%-287s%-10s%-150s%-1s%-30s%-1s%-80s%-10s%-6s%-6s%-10s%-20s%-5s%-12s%-43s%-2s%-10s%-70s%-3s%-1s%-1s%-10s%-4s%-6s%-10s%-10s%-5s%27s";
JurorPayDetails JurorpayDetails = new JurorPayDetails();
ArrayList<JurorPayDetails.JurorPayDetailsTable> JurorPayDetailsObjList = new ArrayList<JurorPayDetails.JurorPayDetailsTable>();
JurorpayDetails.setJurorPayDetailsSql("Select P.*, GroupAssignment, TermDateServed, LastName, FirstName, Street1, Street2, City, State, ZipCode, Mileage, PublicEmployee, PayTime, PayMiles from PayDetails P INNER JOIN Jurors J ON P.JurorID = J.JurorID INNER JOIN Address A ON J.JurorID = A.JurorID where AddressType = 'M' and J.TermDateServed IN (" + QueryCriteria +") ORDER BY GroupAssignment, LastName");
boolean indicator = JurorpayDetails.setListOfJurorPayDetails();
if (indicator == true)
{
int size = JurorpayDetails.getListSize();
JurorPayDetailsObjList = JurorpayDetails.getJurorPayDetailsList();
for (int i=0; i<size; ++i){
JurorPayDetails.JurorPayDetailsTable eachPayable = JurorPayDetails.JurorPayDetailsTable)JurorPayDetailsObjList.get(i);
TotalPay = eachPayable.HoursAmount.add(eachPayable.MilesAmount);
RecordString = String.format(RecordStringFormat, ((eachPayable.Street1.trim() + " " + eachPayable.Street2.trim()).trim()), "1","B","1","WFB10","00000","21801","21801",eachPayable.City,"",longdateToday,"", "N", "21801_" + eachPayable.JurorID,"N",((eachPayable.FirstName.trim() + " " + eachPayable.LastName.trim()).trim()),"", "PYMTLD","0",longdateToday,"21801" + shortdateToday + SeqID,df2.format(i + 1),eachPayable.Zipcode,"","RE","0","","CHK","N", "Y",longdateToday,"PYMT",eachPayable.State, "","001","01200",Paymentdf.format(TotalPay));
out.append(RecordString);
out.newLine();
}
out.close();
}
}catch (Exception e) {
System.err.println("error: " + e.getMessage());
}
}
없는 큰 일이 : 나는 다음과 같은 코드를 사용하고 있습니다.
로컬에서 실행할 때 제대로 작동하지만 응용 프로그램을 Linux 웹 서버에 설치하고 설정을 Linux로 변경하면 파일이 올바른 네트워크 위치에 저장되지 않습니다.
나는 Windows 파일 표기법 및 리눅스 파일 표기법을 사용하여 시도했다 : 이 FILEANDPRINT이 앱 \ 심사 위원 \ 공유는 예 파일 위치가 및 // FILEANDPRINT/앱/심사 위원/SHARE/
및하지 \ \ \\을 존재한다, 내가 말했듯이, 개발 과정에서 로컬로 실행될 때, 리눅스 박스에있을 때만 파일을 올바르게 저장하지 않는다.
제안 사항?
Linux PC에서 Windows 네트워크 공유에 액세스해야하는 경우 이미 완료된 것입니다. 나는 TightVNC를 사용하여 리눅스 박스에 접근하고, 파일 시스템을 열고, 리눅스 네트워크 공유에서 Fileandprint를 볼 수있다. – Leslie
"파일 시스템을 어떻게 열었습니까?" 나는 많은 수의 gname/kde 관련 프로그램들이 자바가 직접적으로 네트워크 공유에 접근 할 수 있기 때문에 묻는다. –
나는 루트 사용자와 함께 리눅스 박스에 로그온한다. 바탕 화면에서 Root 's Home을 열면 File Browser가 표시됩니다. 거기에서 네트워크 서버를 클릭합니다 ... 거기에서 FileandPrint 서버를 볼 수 있고 네트워크에 연결할 수 있습니다. 필자는 Jitterbit Windows 서버를 사용하여 문서를 만들고 이동하는 작업을 발견했다고 생각합니다. – Leslie