�@

Java �t�@�C������

�ڎ�


�t�@�C�����̎擾�E���́FFileDialog

�V�����O���t�@�C�����������A�����̃t�@�C���ɃA�N�Z�X���邽�߃t�@�C��������͂���ɂ́A�L�[�{�[�h����t�@�C��������͂������ɁA���[�v�����g���Ƃ��Ɏg���t�@�C���_�C�A���O���g���ق����ԈႢ�����Ȃ��BJava �ł́AFIleDialog �N���X�� getDIrectory, getFile ���\�b�h���g���B���̃R�[�h�����s����ƁA�I�������i���͂����j�t�@�C�����̃t���p�X���\�������B

// �t�@�C���_�C�A���O�̃C���X�^���X���쐬
FileDialog filedlog = new FileDialog(new Frame(), "�t�@�C���w��"); filedlog.setVisible(true); // ���͏�����荞��
String fname = filedlog.getDirectory() + filedlog.getFile(); System.out.println(fname);

FileDialog �R���X�g���N�^��2�Ԗڂ̈����̓^�C�g���o�[�ɕ\������镶������w�肷��B

�O���t�@�C���ւ̏o��

FileWriter

�O���t�@�C���֏����o���ɂ́AFileWriter �N���X���g���B write ���\�b�h�ɂ��A���ׂĕ�����ɕϊ�����ċL�������Bfname �� FileDialog ���g���ē��͂������̂��g���B�������݂��I��������̂� close ���\�b�h�ŕ‚��Ȃ���΂����Ȃ��B

	try {
		FileWriter fwrite = new FileWriter(new File(fname), true);	// true �͒lj��o��
		for (int i = 0; i < 20; i++) {
			fwrite.write((int) (100 * Math.random()) + " ");
		}
		fwrite.write("\n\n");
		fwrite.close();
	} catch (IOException e) {
		System.out.println("�G���[�F" + e);
	}

�t�@�C�����Ȃ���ΐV�K�ɍ쐬����A�������݂���ꍇ�́A2�Ԗڂ̈����� true �ɂ��邱�Ƃɂ���āA�t�@�C�����e���c�����܂܁A�Ō�ɒlj������iappend���[�h�j�B

BufferedWriter

��ʂ̃t�@�C�����o�͂���ꍇ�́A�o�̓o�b�t�@�𗘗p���� BufferedWriter �N���X�𗘗p����Ɨǂ��B���s���o�͂���ꍇ�́Awrite("\n") �Ƃ������� newLine() ���\�b�h���g���B

	try {
		BufferedWriter bwrite = new BufferedWriter(new FileWriter((new File(fname), true));
		for (int i = 0; i < 20; i++) {
			bwrite.write((int) (100 * Math.random()) + " ");
		}
		bwrite.newLine();
		bwrite.close();
	} catch (IOException e) {
		System.out.println("�G���[�F" + e);
	}

PrintWriter

PrintWriter ���g���΁A�R���\�[���o�͂Ɠ����悤�ɁAprint, printf �� println ���\�b�h���g���Đ��`������������L�^���邱�Ƃ��ł���Bprintf() ���\�b�h�ŏ����ɏ]���ď������݁A��Ƃ��I�������� close() ���\�b�h�����s���ăt�@�C����‚���B�t�@�C�����̃G���[�Ȃǂ̔����ɔ����āAtry ... catch �\���̒��Ŏ��s����B

	try {
		PrintWriter pwrite = new PrintWriter(new File(fname));
		for (int i = 0; i < 20; i++) {
			pwrite.printf("%5d", (int) (100 * Math.random()));
		}
		pwrite.close();
	} catch (Exception e) {
		System.out.println("�G���[�F" + e);
	}

PrintWriter �� BufferedWriter ��g�ݍ��킹�Č��������邱�Ƃ��o����B�܂��AFileWriter ���o�R���邱�ƂŁA�ǂ��������[�h�ŏ����o�����Ƃ��ł���B

PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter((new File(fname), true)));
���邢��
PrintWriter pw = new PrintWriter(new BufferedWriter((new File(fname), true));

���ǂ�

�O���t�@�C������̓���

FileReader

�O���t�@�C������f�[�^��ǂݏo���ɂ́AFileReader �N���X���g���Bread ���\�b�h�ɂ��A�ꕶ�����Ž��o�����Ƃ��o����B�t�@�C���̏I���́u-1�v�����o���邱�ƂŔF���ł���Bfname �� FileDialog ���g���ē��͂������̂��g���B

	try {
		FileReader fread = new FileReader(new File(fname));
		int bt;
		while((bt = buffer.readLine()) != -1) {
			System.out.print((char)bt);
		}
		fread.close();
	} catch (Exception e){
		System.out.println("�G���[�F" + e);
	}

BufferedReader

�܂Ƃ߂ēǂݏo�����߂ɁABufferedReader �N���X�𗘗p����BreadLine ���\�b�h�ɂ����s�܂ł�1�s�������o�����Ƃ��o����B

	try {
		BufferedReader bread = new BufferedReader(new FileReader(new File(fname)));
		String st;
		while((st = bread.readLine()) != null) {
			System.out.println(st);
		}
		bread.close();
	} catch (Exception e){
		System.out.println("�G���[�F" + e);
	}

��荞��1�s���̕����񂩂�f�[�^�����o���ɂ́AString.split, Integer.parseInt, Double.parseDouble �Ȃǂ̃��\�b�h��K�v�Ƃ���B���Ƃ��΁A�����̃X�y�[�X�ŋ�؂�ꂽ int �^�f�[�^�����o���ꍇ�̗�����Ɏ����B

// �f�[�^���������o���i��؂��1�ˆȏ�̋󔒁j
	String[] sts = st.split(" +");		
// ���l���𐔒l�ɕϊ����� int[] dat = new int[100]; int n=0; for(int i=0; i<sts.length; i++) if(sts[i].length() > 0) dat[n++] = Integer.parseInt(sts[i]); // �擪�̋󔒂��폜

Scanner

��荞�ރf�[�^�̃f�[�^�^���������Ă���ꍇ�́AScanner �N���X�𗘗p��������R�[�h���ȒP�ɂȂ�BhasNext() ���\�b�h�ɂ���ăt�@�C���I�����`�F�b�N���Ȃ���AnextInt(), nextDouble(), next() �Ȃǂ̃��\�b�h�Ńf�[�^���擾����B�f�[�^�̓X�y�[�X�A���邢�̓^�u��؂�Ƃ���B���̓f�[�^���Ȃ��Ȃ����� close() ���\�b�h�����s���ăt�@�C����‚���B

���l�f�[�^���J���}�ŋ�؂��Ă���ꍇ�́AuseDelimiter(",") ���\�b�h���ĂԁB���̏ꍇ�A���l�ȊO�ɃX�y�[�X�������Ă���ƁAInputMismatchException ��O���ۂ���������̂Œ��ӂ�v����B

�t�@�C�����������߁A�s������i�t�@�C�������Ⴄ�A�f�[�^�̌^���Ⴄ�A�Ȃǁj�Ώ��̂��߂� try ... catch �\���̒��Ŏ��s����B

	try {
		Scanner fileIN = new Scanner(new File(fname));
		while(fileIN.hasNext()) {
			System.out.print("<"+fileIN.nextInt()+"> ");
		}
		fileIN.close();
	} catch(Exception e) {
		System.out.println("�G���[�F" + e);
}

�L�[�{�[�h����̓��́FScanner

Scanner �̃C���X�^���X�����̍ۂ̈����Ƃ��āA�t�@�C�����łȂ��ASystem.in ���w�肷��΃L�[�{�[�h����̓��͎w�߂ɂȂ�B���̏ꍇ�� try ... catch �̒��ɓ���Ȃ��Ă��ǂ��B


���ǂ�

JAR �t�@�C���̍���

���������v���O���������s�t�@�C���Ƃ��ēƗ�������ɂ́AJAR�`���̃t�@�C���ɂ��Ă����K�v������B���̎菇�͈ȉ��̒ʂ�B

  1. �u�t�@�C���v���u�G�N�X�|�[�g�v���j���[��I��
  2. �u�G�L�X�|�[�g�v�E�B���h�E�ł́A�u�G�N�X�|�[�g��̑I���v�Ƃ��āA�uJava-JAR�t�@�C���v���N���b�N�i�����A�I������Ă���̂ŁA���̂܂܁j
  3. �uJAR�G�N�X�|�[�g�v�E�B���h�E�́uJAR�t�@�C���d�l�v�ł́A�u���\�[�X�̑I���v�ŁA�usrc�v�̒��̃v���O������I���A�E���͑S�`�F�b�N
  4. �u�G�N�X�|�[�g��v�͕ۑ�����u�Q�Ɓv�{�^�����g���Ďw��
  5. �uJAR�G�N�X�|�[�g�v�E�B���h�E�́uJAR�p�b�P�[�W�I�v�V�����v�E�B���h�E�͂��̂܂�
  6. �uJAR�G�N�X�|�[�g�v�E�B���h�E�́uJAR�}�j�t�F�X�g�d�l�v�ł́A�u�}�j�t�F�X�g���w��v�́u�}�j�t�F�X�g�t�@�C���𐶐��v�Ƀ`�F�b�N�i���̂܂܁j
  7. �u�G���g���[�|�C���g�̃N���X���w��v�́u�Q�Ɓv�{�^�����g���āA�K�؂ȃt�@�C������I������B

���̎菇�����s���Đ��������A�C�R���iexe�t�@�C���j���_�u���N���b�N����ƁA�P�ƂŃA�v���P�[�V�����������オ��B

���ǂ�