Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.04.2013, 19:21
Новичок на форуме
Отправить личное сообщение для jevgenij Посмотреть профиль Найти все сообщения от jevgenij
 
Регистрация: 17.04.2013
Сообщений: 1

sravnenie massivov
Dobrogo vremia sutok,

Zadacha sravnit dva txt i zapisat v tretij txt raznye strochki
package Main;

import java.io.BufferedOutputStream;
import java.io.BufferedReader;
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.ObjectOutputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class doublefail {
	public static void main(String[] args) throws IOException {
	List<String> lt= new ArrayList<String>();;
	File file = new File ("C:/Users/Jevgenij/Desktop/o.txt");
	FileInputStream fis = null;
	
	
	
	//pervyj fail
	try{
		fis= new FileInputStream(file);
	BufferedReader br = new BufferedReader(new InputStreamReader(fis));
			 String content;
				while ((content = br.readLine()) != null) {
					lt.add(content);}
				}
					catch (IOException e) {
						e.printStackTrace();
					} finally {
						fis.close();
						}
	// vtoroj fail
		
		List<String> gt= new ArrayList<String>();;
		File file3 = new File ("C:/Users/Jevgenij/Desktop/k.txt");
		FileInputStream fis3 = null;
	try{
		fis3= new FileInputStream(file3);
				BufferedReader bt = new BufferedReader(new InputStreamReader(fis3));
							 String content;
								while ((content = bt.readLine()) != null) {
									gt.add(content);}
									}
									catch (IOException e) {
										e.printStackTrace();
									} finally {
										fis3.close();
										}	
			
				// output stream
					 
int t=0;
		OutputStream file2 = new FileOutputStream( "C:/Users/Jevgenij/Desktop/l.txt" );
		OutputStream of = new BufferedOutputStream(file2);
		ObjectOutputStream oss=  new ObjectOutputStream (of);
		try{
				Iterator it=lt.iterator();
				while(it.hasNext()){
					String value=(String)it.next();
				Iterator kt=gt.iterator();
				while(kt.hasNext()){
					//r++;
					String o=(String)kt.next();
					 if (value.equals(o)) {
						t++;
						}
					 	 if(t==0){
					 System.out.println(value);
					 oss.writeBytes(value);
						oss.write(System.getProperty("line.separator").getBytes());
						 t=0;}
					 }
					}
	}	 finally {
			 oss.close();
	
			
		}
	}
}
Ответить с цитированием
  #2 (permalink)  
Старый 17.04.2013, 19:29
Аватар для GuardCat
Просто любитель
Отправить личное сообщение для GuardCat Посмотреть профиль Найти все сообщения от GuardCat
 
Регистрация: 13.09.2011
Сообщений: 300

В Chrome не работает.
Ответить с цитированием
  #3 (permalink)  
Старый 17.04.2013, 19:33
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от GuardCat
В Chrome не работает
Сообщение от jevgenij
public class doublefail {
товарищ языки перепутал
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #4 (permalink)  
Старый 17.04.2013, 19:36
Аспирант
Отправить личное сообщение для Ervin Посмотреть профиль Найти все сообщения от Ervin
 
Регистрация: 19.03.2013
Сообщений: 84

Ко для IE

import java.io.*;
import java.util.*;

public class myfilereader
{
	public static void main (String[] args) throws java.io.IOException
    {
		//Getting the name of the files to be compared.
		BufferedReader br2 = new BufferedReader (new
InputStreamReader(System.in));
		System.out.println("Enter 1st File name:");
  		String str = br2.readLine();
  		System.out.println("Enter 2nd File name:");
  		String str1 = br2.readLine();

		String s1="";
  		String s2="",s3="",s4="";
  		String y="",z="";

        //Reading the contents of the files
 		BufferedReader br = new BufferedReader (new FileReader (str));
  		BufferedReader br1 = new BufferedReader (new FileReader (str1));

 		while((z=br1.readLine())!=null)
 			s3+=z;

		while((y=br.readLine())!=null)
  			s1+=y;

		System.out.println ();

        //String tokenizing
  		int numTokens = 0;
  		StringTokenizer st = new StringTokenizer (s1);
  		String[] a = new String[10000];
  		for(int l=0;l<10000;l++)
	   		{a[l]="";}
  		int i=0;
  		while (st.hasMoreTokens())
    	 {
      		s2 = st.nextToken();
     	    a[i]=s2;
			i++;
            numTokens++;
    	 }

     	int numTokens1 = 0;
	   	StringTokenizer st1 = new StringTokenizer (s3);
	   	String[] b = new String[10000];
	   	for(int k=0;k<10000;k++)
	   		{b[k]="";}
	   	int j=0;
	   	while (st1.hasMoreTokens())
	      {
	       s4 = st1.nextToken();
	       b[j]=s4;
	       j++;
	       numTokens1++;
	      }

//comparing the contents of the files and printing the differences, if any.
		int x=0;
     	for(int m=0;m<a.length;m++)
     	{
			if(a[m].equals(b[m])){}
		 	else
		 	{
		 		x++;
		System.out.println(a[m] + " -- " +b[m]);
		System.out.println();}
		    }
 System.out.println("No. of differences : " + x);
 if(x>0){System.out.println("Files are not equal");}
 else{System.out.println("Files are equal. No difference found");}

 }
}


У меня работает.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск