powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / throw IOException
25 сообщений из 35, страница 1 из 2
throw IOException
    #39878687
Zafar Z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите как правильно "оперировать" в throw IOException (пытаюсь "изъять" из класса данные и передать в activity java android, результат NULL!)

Класс из которого хочу взять:

Код: java
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.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
import org.apache.lucene.document.Document;
import org.apache.lucene.search.ScoreDoc;
import org.apache.lucene.search.TopDocs;

import java.io.IOException;
import java.text.ParseException;
 public  class LuceneTester
{ 
	//String indexDir = "file:///android_asset/Index"; String dataDir = "file:///android_asset/Data";
	String indexDir = "C:\\My Projects\\qonuntxt\\app\\src\\main\\assets\\Index";
	String dataDir = "C:\\My Projects\\qonuntxt\\app\\src\\main\\assets\\Data";
	Indexer indexer; 
	Searcher searcher;
	
	static String[] ddd;
	TextFileFilter filt1;
	public static void main(String[] args) 
	{ 
		LuceneTester tester; 
		try 
		{
			
			tester = new LuceneTester();
		
			tester.createIndex();
		
			tester.search("пример поиска");
		

		} 
		catch (IOException e)
		{ 
			e.printStackTrace(); 
		} 
		catch (ParseException e)
		{ 
			e.printStackTrace(); 
		} catch (org.apache.lucene.queryParser.ParseException e) {
			e.printStackTrace();
		}
	}
  void createIndex() throws IOException
	{ 
		indexer = new Indexer(indexDir); 
		int numIndexed;
	
		long startTime = System.currentTimeMillis();
		filt1 = new TextFileFilter();
		numIndexed = indexer.createIndex(dataDir, filt1);
		long endTime = System.currentTimeMillis();


		indexer.close(); 
		System.out.println(numIndexed+" File indexed, time taken: " +(endTime-startTime)+" ms");
	} 
void search(String searchQuery) throws IOException, ParseException, org.apache.lucene.queryParser.ParseException {
		searcher = new Searcher(indexDir);
		long startTime = System.currentTimeMillis();


		TopDocs hits = searcher.search(searchQuery);


		long endTime = System.currentTimeMillis(); 
		//System.out.println(hits.totalHits + " documents found. Time :" + (endTime - startTime));
		for(ScoreDoc scoreDoc : hits.scoreDocs)
		{
			Document doc = searcher.getDocument(scoreDoc);
			System.out.println("File: " + doc.get(LuceneConstants.FILE_PATH));
			ddd[2]= doc.get(LuceneConstants.FILE_PATH);

			


		}
		searcher.close();
	} 
}



кнопка в Активити андроид:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
    imageView.setOnClickListener(new ImageView.OnClickListener(){
            @Override
            public void onClick(View view) {


                LuceneTester luceneTester = new LuceneTester();
                try {
                    luceneTester.createIndex();
                    } catch (IOException e) {
                    e.printStackTrace();
                }
                try {
                    luceneTester.search("пример поиска");

                } catch (IOException e) {
                    e.printStackTrace();
                } catch (ParseException e) {
                    e.printStackTrace();
                } catch (org.apache.lucene.queryParser.ParseException e) {
                    e.printStackTrace();
                }

                editText.setText(LuceneTester.ddd[2]); // Результат NULL то ест: java.lang.NullPointerException: Attempt to read from null array
...
Рейтинг: 0 / 0
throw IOException
    #39878706
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zafar Z,
По андроиду в андроид ветку.
Выдели строку кода с вопросом. Ничего непонятно. И код отформатируй.
...
Рейтинг: 0 / 0
throw IOException
    #39878707
Sergunka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC SharpZafar Z,
По андроиду в андроид ветку.
Выдели строку кода с вопросом. Ничего непонятно. И код отформатируй.

и положи в гитхаб проект, кто в теме просто быстро подправит.
...
Рейтинг: 0 / 0
throw IOException
    #39878713
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergunkaкто в теме
На ударит и пальцем о палец, ибо смысл, если человек не смотря на неоднократные просьбы и скриншоты, не в состоянии тэг src освоить
...
Рейтинг: 0 / 0
throw IOException
    #39878744
Sergunka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpashaSergunkaкто в теме
На ударит и пальцем о палец, ибо смысл, если человек не смотря на неоднократные просьбы и скриншоты, не в состоянии тэг src освоить

Да ладно. Ну, не совсем ТС идиот може и освоит
...
Рейтинг: 0 / 0
throw IOException
    #39878759
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Такой огромный исходник - а толку мало. И стектрейса не видно.
...
Рейтинг: 0 / 0
throw IOException
    #39878764
Zafar Z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpasha,

Скиньте пожалуйста ссылку на туториал плиз, именно по этой теме. Буду признателен.
...
Рейтинг: 0 / 0
throw IOException
    #39878772
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zafar Zименно по этой теме
По какой этой теме? Я не пойму что нужно, потому что код нечитаем.
...
Рейтинг: 0 / 0
throw IOException
    #39878773
Zafar Z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpasha,

Извиняюсь за неточный вопрос. Я имел в виду по тэгам SRC, Как именно загуглить в интернете чтобы найти справочник и понять что такое теги Src. Я новичок в объектном программировании.
...
Рейтинг: 0 / 0
throw IOException
    #39878778
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О боги, причем тут объектное программирование. На этом форуме есть возможность форматирование сообщения, в том числе тэг src для публикации кода в читаемом виде. Когда постишь код, помещай его в тэг src иначе никто читать и тем более помогать не будет.
...
Рейтинг: 0 / 0
throw IOException
    #39878782
Zafar Z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpasha,
Для чайников типа меня покажите пожалуйста пример маленький, чтобы я в будущем уже не причинял неудобства . Сорри ещё раз.
...
Рейтинг: 0 / 0
throw IOException
    #39878796
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пример чего, тэга src?
Код: java
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.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
import org.apache.lucene.document.Document;
import org.apache.lucene.search.ScoreDoc;
import org.apache.lucene.search.TopDocs;

import java.io.IOException;
import java.text.ParseException;
public class LuceneTester
{
//String indexDir = "file:///android_asset/Index"; String dataDir = "file:///android_asset/Data";
String indexDir = "C:\\My Projects\\qonuntxt\\app\\src\\main\\assets\\Index";
String dataDir = "C:\\My Projects\\qonuntxt\\app\\src\\main\\assets\\Data";
Indexer indexer;
Searcher searcher;

static String[] ddd;
TextFileFilter filt1;
public static void main(String[] args)
{
LuceneTester tester;
try
{

tester = new LuceneTester();

tester.createIndex();

tester.search("пример поиска");


}
catch (IOException e)
{
e.printStackTrace();
}
catch (ParseException e)
{
e.printStackTrace();
} catch (org.apache.lucene.queryParser.ParseException e) {
e.printStackTrace();
}
}
void createIndex() throws IOException
{
indexer = new Indexer(indexDir);
int numIndexed;

long startTime = System.currentTimeMillis();
filt1 = new TextFileFilter();
numIndexed = indexer.createIndex(dataDir, filt1);
long endTime = System.currentTimeMillis();


indexer.close();
System.out.println(numIndexed+" File indexed, time taken: " +(endTime-startTime)+" ms");
}
void search(String searchQuery) throws IOException, ParseException, org.apache.lucene.queryParser.ParseException {
searcher = new Searcher(indexDir);
long startTime = System.currentTimeMillis();


TopDocs hits = searcher.search(searchQuery);


long endTime = System.currentTimeMillis();
//System.out.println(hits.totalHits + " documents found. Time :" + (endTime - startTime));
for(ScoreDoc scoreDoc : hits.scoreDocs)
{
Document doc = searcher.getDocument(scoreDoc);
System.out.println("File: " + doc.get(LuceneConstants.FILE_PATH));
ddd[2]= doc.get(LuceneConstants.FILE_PATH);




}
searcher.close();
}
}


Форматирование уже лень на планшете править
...
Рейтинг: 0 / 0
throw IOException
    #39878846
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С нормальным форматированием.

Код: java
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.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
import org.apache.lucene.document.Document;
import org.apache.lucene.search.ScoreDoc;
import org.apache.lucene.search.TopDocs;

import java.io.IOException;
import java.text.ParseException;

public class LuceneTester {
    //String indexDir = "file:///android_asset/Index"; String dataDir = "file:///android_asset/Data";
    String indexDir = "C:\\My Projects\\qonuntxt\\app\\src\\main\\assets\\Index";
    String dataDir = "C:\\My Projects\\qonuntxt\\app\\src\\main\\assets\\Data";
    Indexer indexer;
    Searcher searcher;

    static String[] ddd;
    TextFileFilter filt1;

    public static void main(String[] args) {
        LuceneTester tester;
        try {

            tester = new LuceneTester();

            tester.createIndex();

            tester.search("пример поиска");


        } catch (IOException e) {
            e.printStackTrace();
        } catch (ParseException e) {
            e.printStackTrace();
        } catch (org.apache.lucene.queryParser.ParseException e) {
            e.printStackTrace();
        }
    }

    void createIndex() throws IOException {
        indexer = new Indexer(indexDir);
        int numIndexed;

        long startTime = System.currentTimeMillis();
        filt1 = new TextFileFilter();
        numIndexed = indexer.createIndex(dataDir, filt1);
        long endTime = System.currentTimeMillis();


        indexer.close();
        System.out.println(numIndexed + " File indexed, time taken: " + (endTime - startTime) + " ms");
    }

    void search(String searchQuery) throws IOException, ParseException, org.apache.lucene.queryParser.ParseException {
        searcher = new Searcher(indexDir);
        long startTime = System.currentTimeMillis();


        TopDocs hits = searcher.search(searchQuery);


        long endTime = System.currentTimeMillis();
//System.out.println(hits.totalHits + " documents found. Time :" + (endTime - startTime));
        for (ScoreDoc scoreDoc : hits.scoreDocs) {
            Document doc = searcher.getDocument(scoreDoc);
            System.out.println("File: " + doc.get(LuceneConstants.FILE_PATH));
            ddd[2] = doc.get(LuceneConstants.FILE_PATH);


        }
        searcher.close();
    }
}
...
Рейтинг: 0 / 0
throw IOException
    #39878886
Zafar Z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо я вас понял буду иметь ввиду. Кстати насчёт основного вопроса. Мне кажется проблема в доступах чтения и записи в директории , хотя как я понимаю в манифесте для внутренней памяти под Андроид ничто не указывается, то есть доступ по умолчанию есть для чтения и записи. При запуске этого класса на прямую с IDE все работает отлично так как работает с локальными дисками на компьютере. А вот под виртуальный девайс или же прямо на девайсе андроида выдает лог Null. Попробую в гитхабе другой код найти более современный. Этот мне кажется старенький хотя такой удобненький ) так как работает с Lucene-core-3.6.0. Всем спасибо за понимание и советы.
...
Рейтинг: 0 / 0
throw IOException
    #39878889
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Люсин сейчас восьмой версии актуален https://mvnrepository.com/artifact/org.apache.lucene/lucene-core
...
Рейтинг: 0 / 0
throw IOException
    #39878906
Zafar Z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

Спасибо за ссылку. На днях попробую.
...
Рейтинг: 0 / 0
throw IOException
    #39878924
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zafar Zхотя как я понимаю в манифесте для внутренней памяти под Андроид ничто не указывается, то есть доступ по умолчанию есть для чтения и записи.в манифесте указывают максимальные просимые права программы.
Но несмотря на это в коде все равно проверяется права так как в послндних версиях юзверь может права дать или не дать позже. Даже через год эксплуатпции.
Поэтому проверяй каждую строчку.
...
Рейтинг: 0 / 0
throw IOException
    #39879037
Zafar Z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp,
Спасибо за инфу, благодарен, проверю.
...
Рейтинг: 0 / 0
throw IOException
    #39879433
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zafar ZМне кажется проблема в доступах чтения и записи в директории
тебе не должно казаться. нужно освоить пошаговую отладку и проверить в каком месте что идет не так. По той же причине нельзя глотать ошибки с e.printStackTrace(), нужно их выводить в лог андроида. Кроме очевидной причины с нехваткой прав может существовать и не очевидная - например, что lucene не совместим с андроид
...
Рейтинг: 0 / 0
throw IOException
    #39879643
Zafar Z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpasha,
Да вы правы, проверил "серые" логи действительно наплыло много ошибок из стандартных библиотек и классов, вы точно уверены что lucene не совместим с андроидом, чтоб мне уже больше не "выплакивать" разными экспериментами и без того слепые глаза, и наконец заняться полезным делом ).
...
Рейтинг: 0 / 0
throw IOException
    #39879775
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zafar Zвы точно уверены что lucene не совместим с андроидом
я без понятия, но шансы сильно ненулевые, как и для любой серьезной библиотеки в которой совместимость с андроид не указана явно.
...
Рейтинг: 0 / 0
throw IOException
    #39881327
Zafar Z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpasha,

Совместимость есть, просто у меня руки кривые, вот пример :



" https://github.com/AndroidSources/Android-Lucene-Search-and-Highlighting"


Правда он работает с json, ну по идее этот мне тоже подходит если я ключевые слова буду сбрасывать в json и делать ссылки на файлы , что дополнительно прибавится мне работы и + дополнительного места , но если у кого появится идея или ссылка который строго индексирует файлы прямо на java Android то буду очень рад помощи!
...
Рейтинг: 0 / 0
throw IOException
    #39881330
Zafar Z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Переходя по ссылке в конце надо убрать ковычки (")
...
Рейтинг: 0 / 0
throw IOException
    #39881358
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zafar Z,
Попробуйте по другому задачу решить. Без этой либы.
Для этого задачу подробно опишите.
...
Рейтинг: 0 / 0
throw IOException
    #39881504
Zafar Z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp,


1. Имеем много текстовых файлов 1.txt, 2.txt, 3.txt ....
2. Внутри этих файлов тексты , слова, статьи.
3. Имплементирование lucene в проект Android Java.
4. Запуск индексирования файлов.
5. Поиск по индексированным файлам из MainActivity Android.

Знаю я не в тему, ну а вдруг котото сталкивался
...
Рейтинг: 0 / 0
25 сообщений из 35, страница 1 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / throw IOException
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]