ねごとめも背景

ねごとめも

数学、電気の勉強始めました!プログラムにも挑戦しています!|ω・)ノ


作成したプログラムは、こちらでも公開しています。
よかったら覗いてみてください。_( _´ω`)_
→ javascript,SVG で作成したプログラム置き場

java csv ファイルの読み込み, 書き出し 修正(5)

前回作成した csv ファイルの読み込み, 書き出し[カンマ区切り,タブ区切り]修正(4) を少し修正。
前回の csv クラスは、改行を含むセルや、セル内に区切り記号が存在する場合、
ダブルクォーテーションで囲まれた値を配列に格納。
今回は、シングルクォーテーションで囲まれた値も配列に格納出来るように訂正。
ダブルクォーテーション、シングルクォーテーションで囲まれた値が混在する場合も配列に格納。

出力した csv ファイルを、 OpenOffice に読み込ませてみると、行、列数は同じ結果。
同じ csv ファイルを LibreOffice に読み込ませてみると、行、列数が一致しない場合があった。
セルの終わりに、ダブルクォーテーション、シングルクォーテーションが
連続して出現した場合に、行、列数が一致しない。
セルの値もクォーテーション数が入力数と同じにならない。
確認した範囲では、区切り記号の前に存在するクォーテーションが奇数の場合、セルの終了?
偶数の場合、区切り記号は区切りとして認識されない。(?_?)

OpenOffice では偶数の場合も区切りとして認識される結果だった。

例えば、クォーテーションが 5 つ並んだ場合、セルに表示されるクォーテーションは 2 つ。
この辺りの処理がまだできてない。(-_-;)

■ csvSample.java


import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Date;
public class csvSample
{
	public static void main(String args[])
	{
		try
		{
			//CSV csvObj=new CSV('\t');// 読み込む csv の区切り記号
			CSV csvObj=new CSV(',');// 読み込む csv の区切り記号
			String[][] data=csvObj.fgetcsv("template.csv","utf-8");//template.csvファイルを utf-8 で読み込み
			csvObj.setDelimiter(',');// 出力する csv の区切り記号の設定
			//System.out.println("rows="+data.length+"        cols="+data[0].length);
			csvObj.write("result.csv","utf-8");//result.csv へ utf-8 で出力
		}
		catch(FileNotFoundException e)
		{
			System.out.println("FileNotFoundException error");
		}
		catch(IOException e)
		{
			System.out.println("IOException error");
		}
	}
}

■ CSV.java


import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

class CSV
{
	private char delimiter;
	CSV(char _delimiter)
	{
		delimiter=_delimiter;
	}
	
	public void setDelimiter(char _delimiter)
	{
		delimiter=_delimiter;
	}
	
	final void setData(String[][] data){ csv=null; csv=data; }
	
	final String[][] setData(String[][] data,Integer index)
	{
		String[][] newData=new String[data.length-1][data[0].length];
		System.arraycopy(data,index,newData,0,data.length-1);
		return newData;
	}
	
	final String[][] join(String[][] d1,String[][] d2)
	{
		String[][] data=new String[d1.length+d2.length][d1[0].length];
		System.arraycopy(d1,0,data,0,d1.length);
		System.arraycopy(d2,0,data,d1.length,d2.length);
		return data;
	}
	
	final void write(String fileName,String encode) throws FileNotFoundException, IOException
	{
		try(BufferedWriter output=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(fileName),encode)))
		{
			StringBuffer result=new StringBuffer();
			for(int i=0;i<csv.length;i++)
			{
				for(int j=0;j<csv[i].length;j++)
				{
					String comma="\""+delimiter+"\"";
					String quot=(j==0)?"\"":"";
					if(j==(csv[i].length-1)){ comma="\"\n"; }
					result.append(quot);
					result.append(csv[i][j]);
					result.append(comma);
				}
			}
			output.write(result.toString().trim());
			output.close();
		}
	}

	private String[][] csv;
	final String[][] fgetcsv(String fileName,String encode) throws FileNotFoundException, IOException
	{
		csv=null;
		try(BufferedReader input=new BufferedReader(new InputStreamReader(new FileInputStream(fileName),encode)))
		{
			ArrayList<ArrayList> rows=new ArrayList<>();
			ArrayList<String> cols=new ArrayList<>();
			StringBuffer str=new StringBuffer();
			int colsMax=0;
			boolean group=false;
			int ch;
			char prev=delimiter;
			char quot='"';
			boolean space=false;
			while((ch=input.read())!=-1)
			{
				char _char=(char)ch;
				if(!group)
				{
					if(_char=='\r'){}
					else if(_char=='"'||_char=='\'')
					{
						if(prev==delimiter)
						{
							group=true;
							quot=_char;
						}
						str.append(_char);
						prev=_char;
					}
					else if(_char==delimiter)
					{
						cols.add(str.toString());
						str=new StringBuffer();
						prev=_char;
					}
					else if(_char=='\n')
					{
						cols.add(str.toString());
						rows.add(cols);
						colsMax=(colsMax<cols.size())? cols.size():colsMax;
						cols=new ArrayList<>();
						str=new StringBuffer();
						prev=delimiter;
					}
					else
					{
						str.append(_char);
						prev=_char;
					}
				}
				else
				{
					if(_char=='\r'){}
					else if(_char==delimiter)
					{
						if(str.length()==1)
						{
							str.append(_char);
						}
						else if(prev==quot)
						{
							group=false;
							cols.add(str.toString());
							str=new StringBuffer();
						}
						else
						{
							str.append(_char);
						}
						prev=_char;
						space=false;
					}
					else if(_char=='\n')
					{
						if(str.length()==1)
						{
							str.append(_char);
							prev=_char;
						}
						else if(prev==quot&&!space)
						{
							group=false;
							cols.add(str.toString());
							rows.add(cols);
							colsMax=(colsMax<cols.size())? cols.size():colsMax;
							cols=new ArrayList<>();
							str=new StringBuffer();
							prev=delimiter;
						}
						else
						{
							str.append(_char);
							prev=_char;
						}
					}
					else if(_char==' ')
					{

						str.append(_char);
						space=true;
					}
					else
					{
						str.append(_char);
						prev=_char;
						space=false;
					}
				}
			}
			if(cols.size()!=0||str.length()!=0)
			{
				cols.add(str.toString());
				rows.add(cols);
				colsMax=(colsMax<cols.size())? cols.size():colsMax;
			}
			csv=new String[rows.size()][rows.get(0).size()];
			for(int i=0;i<csv.length;i++)
			{
				for(int j=0;j<csv[i].length;j++)
				{
					String result;
					try{ result=(String)rows.get(i).get(j); }catch(IndexOutOfBoundsException e){ result=""; }
					result=result.replaceAll("^[  \t\n]+|\t|[  \t\n]+$","");
					Pattern p1=Pattern.compile("(?s)^\'.*\'$");
					Matcher m1=p1.matcher(result);
					Pattern p2=Pattern.compile("(?s)^\".*\"$");
					Matcher m2=p2.matcher(result);
					if(m1.matches()||m2.matches())
					{
						result=result.replaceAll("(?s)^[\'|\"]|[\'|\"]$","");
					}
					//System.out.println("["+result+"]");
					csv[i][j]=result;
				}
			}
			input.close();
		}
		return csv;
	}
}
2013/07/18 [01:44]
  • category : java,
  • comment : 0

java csv 列値の入れ替え(1)[ 消費税対策室 ]

今回は2つの CSV ファイルの列値を比較して同じ値であればその行の任意の列データを流し込むテスト。
例:
A csv ファイルに商品 ID ( 1234 ) の行データが存在する。
商品 ID ( 1234 ) 行の 20 列の値に 消費税込の価格のデータがある。

A csv ファイルを編集した B csv ファイルに A ファイルと同じ商品 ID ( 1234 ) の編集済みの行データがある。
その 10 列の値に消費税込みの価格データがある。

消費税が上がり A csv ファイルの消費税込みの価格が変更される。
B ファイルの消費税込み価格データ ( 10 列 ) を
A csv ファイルの消費税込み価格データ ( 20 列 ) に書き換えるもの。
よくわからない。('A`)

消費税が上がった時の為に作成したテストプログラム。
こういうの、 Libreoffice で出来たりするのかな。
マ、マクロ??とか使って??

この java プログラムが実際、使えるかどうかは、その日が来るまでわからない。
*試される場合は、実行する前に CSV ファイルのバックアップを取ってください。
*読み込める csv ファイルはカンマ区切りの csv ファイルです。
*出力ファイルのエンコード utf-8
*入力ファイルのエンコード utf-8 以外

JTextField に ディレクトリのパスを入力すると、
そのディレクトリをルートにしたファイルチューザーが表示されます。
”root reset” ボタンでルート初期化。
”古いファイルの選択” ボタンで書き換え csv ファイルの読み込み。
”新しいファイルの選択” ボタンで入れ換える csv ファイルの読み込み。
JComboBox で比較する ID セルの選択、置き換え、書き換え、セルの選択。
”実行” ボタンで指定セルの書き換え。
コンパイルすると警告がでます。
”古いファイルの選択” で選択したファイル名で出力するので、必ずバックアップをっ!
確認ダイアログも無く、迷いなく上書きします!\(^o^)/

■ SetPrice.java 実行結果

java csv 列値入れ替え

■ SetPrice.java


import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import javax.swing.filechooser.FileNameExtensionFilter;

public class SetPrice extends JFrame
{
	private static SetPrice price;
	private JTextField oldDir,newDir;
	private JButton selectOLD,selectNEW;
	private JTextArea result;
	private CSV oldCSV,newCSV;
	private String[][] oldData,newData;
	private DefaultComboBoxModel oldIdComboBoxModel,newIdComboBoxModel,oldColComboBoxModel,newColComboBoxModel;
	private JComboBox oldIdCombo,newIdCombo,oldColCombo,newColCombo;
	private MyFileOpenListener oldFileOpenListener,newFileOpenListener;

	private class CSV
	{
		final void setData(String[][] data){ csv=null; csv=data; }

		final void write(String fileName) throws FileNotFoundException, IOException
		{
			try(BufferedWriter output=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(fileName),"utf-8")))
			{
				StringBuffer result=new StringBuffer();
				for(int i=0;i<csv.length;i++)
				{
					for(int j=0;j<csv[i].length;j++)
					{
						String comma="\",\"";
						String quot=(j==0)?"\"":"";
						if(j==(csv[i].length-1)){ comma="\"\n"; }
						result.append(quot);
						result.append(csv[i][j]);
						result.append(comma);
					}
				}
				output.write(result.toString().trim());
				output.close();
			}
		}

		private String[][] csv;
		final String[][] fgetcsv(String fileName,String encode) throws FileNotFoundException, IOException
		{
			csv=null;
			try(BufferedReader input=new BufferedReader(new InputStreamReader(new FileInputStream(fileName),encode)))
			{
				ArrayList<ArrayList> rows=new ArrayList<>();
				ArrayList<String> cols=new ArrayList<>();
				StringBuffer str=new StringBuffer();
				int rowsIndex=0;
				int colsIndex=0;
				int colsMax=0;
				boolean group=false;
				int ch;
				char prev=',';
				boolean space=false;
				while((ch=input.read())!=-1)
				{
					char _char=(char)ch;
					if(!group)
					{
						switch(_char)
						{
							case '\r' : break;

							case '"':
									if(prev==',')
									{
										group=true;
									}
									str.append(_char);
									prev=_char;
							break;

							case ',':
									cols.add(colsIndex,str.toString());
									colsIndex++;
									str=new StringBuffer();
									prev=_char;
							break;

							case '\n':
									cols.add(colsIndex,str.toString());
									rows.add(rowsIndex,cols);
									rowsIndex++;
									colsMax=(colsMax<cols.size())? cols.size():colsMax;
									colsIndex=0;
									cols=new ArrayList<>();
									str=new StringBuffer();
									//prev=_char;
									prev=',';
							break;

							default:
									str.append(_char);
									prev=_char;
							break;
						}
					}
					else
					{
						switch(_char)
						{
							case '\r' : break;

							case ',':
									if(str.length()==1)
									{
										str.append(_char);
									}
									else if(prev=='"')
									{
										group=false;
										cols.add(colsIndex,str.toString());
										colsIndex++;
										str=new StringBuffer();
									}
									else
									{
										str.append(_char);
									}
									prev=_char;
									space=false;
							break;

							case '\n':
									if(str.length()==1)
									{
										str.append(_char);
										prev=_char;
									}
									else if(prev=='"'&&!space)
									{
										group=false;
										cols.add(colsIndex,str.toString());
										rows.add(rowsIndex,cols);
										rowsIndex++;
										colsMax=(colsMax<cols.size())? cols.size():colsMax;
										colsIndex=0;
										cols=new ArrayList<>();
										str=new StringBuffer();
										prev=',';
									}
									else
									{
										str.append(_char);
										prev=_char;
									}
							break;

							case ' ': str.append(_char); space=true; break;
							case '\t': str.append(_char); space=true; break;
							case ' ': str.append(_char); space=true; break;

							default:
									str.append(_char);
									prev=_char;
									space=false;
							break;
						}
					}
				}
				if(colsIndex!=0||str.length()!=0)
				{
					cols.add(colsIndex,str.toString());
					rows.add(rowsIndex,cols);
					colsMax=(colsMax<cols.size())? cols.size():colsMax;
				}
				csv=new String[rows.size()][colsMax];
				for(int i=0;i<csv.length;i++)
				{
					for(int j=0;j<csv[i].length;j++)
					{
						String result;
						try{ result=(String)rows.get(i).get(j); }catch(IndexOutOfBoundsException e){ result=""; }
						result=result.replaceAll("^[  \t]|\t|[  \t]+$","");
						try
						{
							if(result.indexOf("\"")==0&&result.lastIndexOf("\"")==(result.length()-1))
							{
								result=result.substring(result.indexOf("\"")+1,result.lastIndexOf("\""));
							}
							else if(result.indexOf("\"")==0)
							{
								result=result.substring(result.indexOf("\"")+1,result.length());
							}
							else
							{
								result=result;
							}
						}catch(StringIndexOutOfBoundsException e){}
						csv[i][j]=result;
					}
				}
				input.close();
			}
			return csv;
		}
	}

	private class MyFileOpenListener implements ActionListener
	{
		private String prevDir="";
		private String nextDir="";
		JFileChooser filechooser=null;

		public void setDir(String dir)
		{
			prevDir=dir;
			nextDir=dir;
		}
		@Override
		public void actionPerformed(ActionEvent e)
		{
			result.setText("");
			prevDir=("oldFile".equals(e.getActionCommand()))? oldDir.getText().trim() : newDir.getText().trim();
			String currentDir=("".equals(nextDir)) ? prevDir : nextDir;
			File dir = new File(currentDir);
			//if(filechooser==null)
			//{
				filechooser=new JFileChooser(dir);
				filechooser.setDialogTitle("CSVファイルの選択");
				FileNameExtensionFilter filefilter=new FileNameExtensionFilter(".csv file","csv");
				filechooser.setFileFilter(filefilter);
			//}
			int selected=filechooser.showOpenDialog(price);
			if(selected==JFileChooser.APPROVE_OPTION)
			{
				File file=filechooser.getSelectedFile();
				String fileName=file.getName();
				if(fileName.endsWith(".csv"))
				{
					nextDir=String.valueOf(filechooser.getCurrentDirectory());
					fileName=String.valueOf(filechooser.getSelectedFile());
					switch(e.getActionCommand())
					{
						case "oldFile":
								selectOLD.setText(fileName);
								oldCSV=new CSV();
								try
								{
									oldData=oldCSV.fgetcsv(fileName,"utf-8");
								}
								catch(Exception ex){}
								oldIdComboBoxModel.removeAllElements();
								oldColComboBoxModel.removeAllElements();
								oldIdComboBoxModel.addElement("列番");
								oldColComboBoxModel.addElement("列番");
								for(int i=0;i<oldData[0].length;i++)
								{
									oldIdComboBoxModel.addElement(String.valueOf(i+1));
									oldColComboBoxModel.addElement(String.valueOf(i+1));
								}
						break;

						case "newFile":
								selectNEW.setText(fileName);
								newCSV=new CSV();
								try
								{
									newData=newCSV.fgetcsv(fileName,"JISAutoDetect");
								}
								catch(Exception ex){}
								newIdComboBoxModel.removeAllElements();
								newColComboBoxModel.removeAllElements();
								newIdComboBoxModel.addElement("列番");
								newColComboBoxModel.addElement("列番");
								for(int i=0;i<newData[0].length;i++)
								{
									newIdComboBoxModel.addElement(String.valueOf(i+1));
									newColComboBoxModel.addElement(String.valueOf(i+1));
								}
						break;
					}
				}
				else
				{
					alert("CSVファイルを選択してください。");
					switch(e.getActionCommand())
					{
						case "oldFile": selectOLD.setText("古いファイルの選択"); break;
						case "newFile": selectNEW.setText("新しいファイルの選択"); break;
					}
				}
			}
		}
	}
	private void alert(String str)
	{
		JLabel label=new JLabel(str);
		label.setFont(new Font("メイリオ",Font.PLAIN,12));
		label.setHorizontalAlignment(JLabel.CENTER);
		JOptionPane.showMessageDialog(this,label);
	}
	SetPrice()
	{
		super("csv 列値変更");
		Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
		try
		{
			UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
			SwingUtilities.updateComponentTreeUI(this);
		}
		catch(Exception ex)
		{
			System.out.println("Error");
		}
		setLayout(new BorderLayout());
		JPanel main=new JPanel();
		main.setLayout(new BoxLayout(main,BoxLayout.PAGE_AXIS));

		JPanel line_00=new JPanel();//label
		line_00.setLayout(new FlowLayout(FlowLayout.LEFT));
		JLabel label=new JLabel("【 値変更 】");

		Font font01=new Font("メイリオ",Font.BOLD,20);
		Font font02=new Font("メイリオ",Font.BOLD,12);
		line_00.add(label);
		label.setFont(font01);
		main.add(line_00);

		JPanel line_01=new JPanel();//label
		line_01.setLayout(new FlowLayout(FlowLayout.LEFT));
		label=new JLabel("■ 古 CSV ファイル  root:");
		label.setFont(font02);
		line_01.add(label);
		oldDir=new JTextField(54);
		line_01.add(oldDir);
		main.add(line_01);

		JPanel line_02=new JPanel();//button
		line_02.setLayout(new FlowLayout(FlowLayout.LEFT));
		selectOLD=new JButton("古いファイルの選択");
		selectOLD.setFont(font02);
		selectOLD.setPreferredSize(new Dimension(680,28));
		selectOLD.setActionCommand("oldFile");
		oldFileOpenListener=new MyFileOpenListener();
		selectOLD.addActionListener(oldFileOpenListener);
		line_02.add(selectOLD);
		main.add(line_02);

		JPanel line_03=new JPanel();//label
		line_03.setLayout(new FlowLayout(FlowLayout.LEFT));
		label=new JLabel("■ 新 CSV ファイル  root:");
		label.setFont(font02);
		line_03.add(label);
		newDir=new JTextField(54);
		line_03.add(newDir);
		main.add(line_03);

		JPanel line_04=new JPanel();//button
		line_04.setLayout(new FlowLayout(FlowLayout.LEFT));
		selectNEW=new JButton("新しいファイルの選択");
		selectNEW.setFont(font02);
		selectNEW.setPreferredSize(new Dimension(680,28));
		selectNEW.setActionCommand("newFile");
		newFileOpenListener=new MyFileOpenListener();
		selectNEW.addActionListener(newFileOpenListener);
		line_04.add(selectNEW);
		main.add(line_04);


		JPanel line_05=new JPanel();//label combobox combobox label combobox combobox label
		label =new JLabel("古列:");
		line_05.add(label);
		String[] oldComboData={"列番"};
		oldIdComboBoxModel=new DefaultComboBoxModel(oldComboData);
		oldIdCombo=new JComboBox(oldIdComboBoxModel);
		oldIdCombo.setPreferredSize(new Dimension(50,28));
		line_05.add(oldIdCombo);
		label=new JLabel("と 新列:");
		line_05.add(label);


		String[] newComboData={"列番"};
		newIdComboBoxModel=new DefaultComboBoxModel(newComboData);
		newIdCombo=new JComboBox(newIdComboBoxModel);
		newIdCombo.setPreferredSize(new Dimension(50,28));
		line_05.add(newIdCombo);
		label=new JLabel("を比較して同じ場合、");
		line_05.add(label);

		//line_05.add(Box.createRigidArea(new Dimension(50,5)));

		label =new JLabel("古列:");
		line_05.add(label);
		String[] oldColComboData={"列番"};
		oldColComboBoxModel=new DefaultComboBoxModel(oldColComboData);
		oldColCombo=new JComboBox(oldColComboBoxModel);
		oldColCombo.setPreferredSize(new Dimension(50,28));
		line_05.add(oldColCombo);
		label=new JLabel("と 新列:");
		line_05.add(label);


		String[] newColComboData={"列番"};
		newColComboBoxModel=new DefaultComboBoxModel(newColComboData);
		newColCombo=new JComboBox(newColComboBoxModel);
		newColCombo.setPreferredSize(new Dimension(50,28));
		line_05.add(newColCombo);
		label=new JLabel("の値を入れ替える");
		line_05.add(label);



		main.add(line_05);

		JPanel line_06=new JPanel();//button
		line_06.setLayout(new FlowLayout(FlowLayout.RIGHT));
		JButton reset=new JButton("root reset");
		reset.setFont(font02);
		reset.setPreferredSize(new Dimension(150,28));
		reset.addActionListener(new ActionListener()
		{
			@Override
			public void actionPerformed(ActionEvent e)
			{
				oldFileOpenListener.setDir(oldDir.getText().trim());
				newFileOpenListener.setDir(newDir.getText().trim());
			}
		});
		line_06.add(reset);
		JButton run=new JButton("実行");
		run.setFont(font02);
		run.setPreferredSize(new Dimension(120,28));
		run.addActionListener(new ActionListener()
		{
			@Override
			public void actionPerformed(ActionEvent e)
			{
				price.pack();
				if(!"古いファイルの選択".equals(selectOLD.getText())&&!"新しいファイルの選択".equals(selectNEW.getText()))
				{
					try
					{
						StringBuffer str=new StringBuffer();
						int oldIdNum=oldIdCombo.getSelectedIndex()-1;
						int newIdNum=newIdCombo.getSelectedIndex()-1;
						int oldColNum=oldColCombo.getSelectedIndex()-1;
						int newColNum=newColCombo.getSelectedIndex()-1;
						if(oldIdNum>-1&&newIdNum>-1&&oldColNum>-1&&newColNum>-1)
						{
							for(int i=0;i<newData.length;i++)
							{
								String newId=newData[i][newIdNum].trim();
								for(int j=0;j<oldData.length;j++)
								{
									String oldId=oldData[j][oldIdNum].trim();
									if(newId.equals(oldId))
									{
										if(!oldData[j][oldColNum].trim().equals(newData[i][newColNum].trim()))
										{
											oldData[j][oldColNum]=newData[i][newColNum].trim();
											str.append(oldId+"\n");
										}
									}
								}
							}
							oldCSV.setData(oldData);
							oldCSV.write(selectOLD.getText());
							str.append("値を変更しました。");
							result.setText(str.toString());
							//alert("値を変更しました。");
						}
						else
						{
							alert("列を選択してください。");
						}
					}
					catch(Exception ex){}
				}
				else
				{
					alert("csv ファイルを選択してください。");
				}
			}
		});
		line_06.add(run);
		main.add(line_06);

		result=new JTextArea(12,50);
		result.setFont(new Font("メイリオ",Font.PLAIN,14));
		JScrollPane scroll=new JScrollPane(result);
		main.add(scroll);

		add("North",main);
		int wid=(int)d.getWidth();
		int hei=(int)d.getHeight();
		setBounds((wid-700)/2,(hei-500)/2,700,500);
		setVisible(true);
		setDefaultCloseOperation(EXIT_ON_CLOSE);
	}

	public static void main(String[] args)
	{
		price=new SetPrice();
		price.pack();
	}
}
2013/06/28 [00:40]
  • category : java,
  • comment : 0

カウンター

プロフィール

negotoy

Author:negotoy
電気の勉強始めました!
テキストエディタを使ってプログラミングに挑戦中。fc2 ブログに公開しているテンプレート等は、自由にカスタマイズして、ご活用ください。プログラム実行の前に必ずコードの確認をお願いします。

最新記事

カテゴリ

カレンダー

07 | 2017/08 | 09
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -


PAGE TOP
広告: