⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dealdata.java

📁 数据挖掘算法的实现
💻 JAVA
字号:
import java.awt.FileDialog;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

import javax.swing.JFrame;

public class DealData
{
     private FileDialog fd;
     private JFrame window;
     String fileSource = null;    
     public static String fileDestination = new String();
     public static int num = 0;    //记录数据的总条数
     public final static int startAttribute = 22;  //每条数据开始取的属性,22
     public final static int attribute = 9;  //每条数据所取的属性个数,9,42(包含类型)
     public DealData() throws IOException
     {
    	 while(fileSource == null)
    	 {
    	   window = new JFrame("正在读取源数据");
    	   fd = new FileDialog(window,"请输入您要读取的文件",FileDialog.LOAD);
    	   fd.setVisible(true);
    	   window.setVisible(false);
    	   fileSource = fd.getDirectory()+fd.getFile();
    	   System.out.println("数据源来自于:"+fileSource);
    	   ReadDataFace.mOutput.append("数据源来自于:"+fileSource+"\n");
    	 }
    	 if(fileSource != null)
    	 {   		    		    		    		 
    		 window = new JFrame("正保存数据");
    		 fd = new FileDialog(window,"请输入要保存的文件",FileDialog.SAVE);
    		 fd.setVisible(true);
    		 window.setVisible(false);
    		 fileDestination = fd.getDirectory()+fd.getFile();
    		 System.out.println("数据保存在:"+fileDestination);
    		 ReadDataFace.mOutput.append("数据保存在:"+fileDestination+"\n");
    	 }
    	   	 
    	 File file = new File(fileSource);
    	 FileReader f = new FileReader(file);
    	 FileWriter fout = new FileWriter(fileDestination);
    	 long size =  file.length();
    	 
    	 int j = 0;
    	 char temp = ',';
    	 char c = '\n';
    	 char b[] = new char[1];
    	 for(int i = 0;i < size;i++)
    	 {
             f.read(b);
             
             if(b[0] == c)
             {
            	 num ++;
            	 j = 0;
            	 fout.write(b);
            	 continue;
             }  
             else
             {
               if(b[0] == temp)
                     j++;
               if(j >= startAttribute && j <= startAttribute + attribute -1)     //从第15号属性开始取数据,共取attribute条
                {
            	   if(j == startAttribute && b[0] == temp)
            	   {
            		   continue;
            	   }
            	   else
            		   fout.write(b); 
                 }
                else if(j == 41)
                 {
                   fout.write(b);          	 
                  }
                else continue;
    	      }
    	 }
         System.out.println("数据共有"+num+"条");
         ReadDataFace.mOutput.append("数据共有"+num+"条"+"\n");
    	 f.close();
    	 fout.flush();
    	 fout.close();   	 
     } 
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -