Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > Java Programming > Java Forum > Java - รบกวนสอบถามโค้ดการอ่านไฟล์.csv แล้วนำค่ามาเช็คในฐานข้อมูล และทำการ update หรือ insert คะ



 

Java - รบกวนสอบถามโค้ดการอ่านไฟล์.csv แล้วนำค่ามาเช็คในฐานข้อมูล และทำการ update หรือ insert คะ

 



Topic : 102108



โพสกระทู้ ( 6 )
บทความ ( 0 )



สถานะออฟไลน์




ตามหัวข้อกระทู้เลยคะ
แนวทางโค้ดที่ต้องการทราบคือ

มีไฟล์.csv อัพเดททุกสัปดาห์ อยู่บน server ไฟล์เก็บอยู่ในโฟล์เดอร์ A และชื่อไฟล์ จะตั้งตามวันเวลา เช่น 121013

ต้องการเขียนโค้ดเพื่อนำไฟล์.csv มาเช็คค่า id ในฐานข้อมูลว่าตรงกันหรือป่าว
ถ้ามี id ที่ตรงกันแล้ว ให้ update ฟิวล์ terminate_on ในฐานข้อมูลที่เป้นค่าว่างอยู่เปลี่ยนเป็นชื่อไฟล์ csv นั่นก็คือ 121013


และถ้าเช็คค่า id แล้ว ใน ฐานข้อมูลไม่มี ก็ให้ทำการ insert เพิ่มลงไป พร้อม set ค่าฟิวล์ terminate_on ให้เป็นชื่อไฟล์ csv


ตอนนี้ทำการเชค id ในไฟล์ csv ได้แล้วว่ามีทั้งหมด กี่ id

Code (Java)
public static void main(String[] args) throws IOException {
			PaeManager a = new  PaeManager();
			Map map =a.getPaeMap("xx.xx.x.xx","xxxxxxx","xxxxxxx","/Terminated/");
			

			ArrayList<String> Usename = new ArrayList<String>(map.values());
			
			Usename = printMap(map);
	        System.out.println("Size of Value list from Usename: " + Usename.size());

	        for(int i = 0;i<Usename.size();i++){	
	        	System.out.println("Usename : "+Usename.get(i));
	        }
	}




Tag : Java, JAVA







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-10-28 09:49:21 By : inspyz View : 1652 Reply : 4
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

บทความนี้เลยครับ

Java Import CSV to Database







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-10-28 10:27:37 By : mr.win
 


 

No. 2



โพสกระทู้ ( 6 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 1 เขียนโดย : mr.win เมื่อวันที่ 2013-10-28 10:27:37
รายละเอียดของการตอบ ::
ขอบคุณคะ แล้วส่วนที่เช็คว่า id ในcsv มีหรือหรือป่าว แล้วเมื่อเชคว่ามีแล้ว ต้องการให้ฟิว terminate_on เปลี่ยนเป็นชื่อไฟล์ csv ส่วนนี้ต้องโค้ดยังไงคะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-10-28 10:39:39 By : inspyz
 

 

No. 3



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

ลองเข้าไปศึกษาเกี่ยวกับ JDBC การ Select/Insert/Update และ Delete ก็ได้แล้วครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-10-28 11:01:31 By : mr.win
 


 

No. 4



โพสกระทู้ ( 6 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 3 เขียนโดย : mr.win เมื่อวันที่ 2013-10-28 11:01:31
รายละเอียดของการตอบ ::
ลองสึกษาแล้วคะ แต่ยังมองไม่ออกว่าต้องเริ่มต่อยังไงดีคะ

ตอนนี้สร้างโค้ดที่ดึงไฟล์ csv มาอ่านค่า id และอ่านที่อยู่ไฟล์
ตามโค้ดด้านล่างนี้คะ แต่มาติดตรงที่ต้องเริ่มการเปรียบเทียบเช็ค ในฐานข้อมูลและจัดการอัพเดทลงไปยังไงต่อคะ

Code (Java)
public class TerminateCSVManager {

	private static SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd", Locale.US);
	public Map getUser(String server,String username,String password,String filePath){
		Map map =new HashMap<String,User>();
		 FTPClient ftp = new FTPClient();
	        try {
	        	//ftp.connect("57.59.2.187");
	        	ftp.connect(server); 
				//if (!ftp.login("patcels", "P@tcEl$5"))
	        	if (!ftp.login(username,password))
				{
				    ftp.logout(); 
				}
				ftp.setFileType(FTP.BINARY_FILE_TYPE); 
				FTPFile[] files = ftp.listFiles(filePath);
	             //System.out.println(files);
	             String filenameMax="";
	        	 Date timesMax=null;
	        	 boolean haveFiles=false;
	        	 boolean firstTime=false;
	             if(files!=null && files.length>0){
	            	 int size=files.length;
	            	 Date[] times=new Date[size];
	            	 String[] name=new String[size];            	
	            	 for (int i = 0; i < size; i++) {
	            		 FTPFile file =files[i];
	            		 times[i]=file.getTimestamp().getTime();
	            		 name[i]=file.getName();
	            		 if(name[i].indexOf(".csv")!=-1){
	            			 String[] filename=name[i].split(".csv");
	            			 Date d=null;
	            			 try {
								d=dateFormat.parse(filename[0]);
							} catch (ParseException e) {
								// TODO Auto-generated catch block
								e.printStackTrace();
							}
	            			 if(!firstTime){
	            				 timesMax=d;// times[i];
	                			 filenameMax=name[i];
	                			 firstTime=true;
	            			 }else{
	            				 if(d.after(timesMax)){
	                				 timesMax=d;
	                				 filenameMax=name[i];
	                			 }
	            			 }
	            				 
	            		 } 
	            		 
					}
	            	 haveFiles=true;
	             }
	             if(haveFiles && filenameMax!=null && filenameMax.length()>0){
		CSVReader reader=null;
		InputStreamReader inReader=null;
		try {
			System.out.println("filePath & filename=="+(filePath+filenameMax));
			inReader=new  InputStreamReader(ftp.retrieveFileStream(filePath+filenameMax));
			reader= new CSVReader(inReader, ',');
			String [] nextLine;
			try {
				while ((nextLine = reader.readNext()) != null) {
					User User =new User();
					String id =nextLine[0];
						
					}
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} 
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
			if(inReader!=null){
				inReader.close();
			}
			if(reader!=null){
				try {
					reader.close();
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		}
	  } ftp.noop(); // check that control connection is working OK

      ftp.logout();
	} catch (IOException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	} finally
 {
     if (ftp.isConnected())
     {
         try
         {
             ftp.disconnect();
         }
         catch (IOException f)
         {
             // do nothing
         }
     }
 }	
		
		return map;
	}
	
	public static void main(String[] args) throws IOException {
		
			PaeManager a = new  PaeManager();
			Map map =a.getPaeMap("57.59.2.187","patcels","P@tcEl$5","/Terminated/");
		
			ArrayList<String> Usename = new ArrayList<String>(map.values());
			
			Usename = printMap(map);
	        System.out.println("Size of Value list from Usename: " + Usename.size());

	        for(int i = 0;i<Usename.size();i++){	
	        	System.out.println("Usename : "+Usename.get(i));
	        }
	}

	
	public static ArrayList<String> printMap(Map mp) {
	    Iterator it = mp.entrySet().iterator();
        ArrayList<String> Usename = new ArrayList<String>();
     
	    while (it.hasNext()) {
	        Map.Entry pairs = (Map.Entry)it.next();
	      
	        Usename.add(pairs.getKey().toString());
	        it.remove(); 
	        
	    }
	    return Usename;
	 
	}

	  
}




ส่วนนี้คือ output ที่อ่านได้จากไฟล์ csv ว่ามี id ไหนบ้าง

output


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-10-29 10:59:37 By : inspyz
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : Java - รบกวนสอบถามโค้ดการอ่านไฟล์.csv แล้วนำค่ามาเช็คในฐานข้อมูล และทำการ update หรือ insert คะ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 04
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่