Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 3 years ago.
Improve this question
I need to make an app in Java that must add in a database all the files (with folder structure) from a hard drive.
I need to add the metadata of this files as well.
What it will be the best aproach ? Using SQLite with multiple tables or Neo4j ??
A file system is represented as a tree. A tree is in fact an undirected graph.
While this question may be flagged as opinions based, I would love to add some points valuable to Neo4j.
Your file structure will be represented naturally in a graph, which means you will not have (or mostly not) differences between your domain and what is persisted in your database.
Secondly, Neo4j is really performant in matter of ACL, which is part of your metadata. http://maxdemarzi.com/2013/03/18/permission-resolution-with-neo4j-part-1/
So all your points are in fact a "graph" and thus Neo4j is the most valuable choice for fulfilling your requirements.
I think it depends on what kind of operations will you do on such data.:
But generally speaking Neo4j is very useful if you would need to traverse the directories and search for the files. Neo4j allows you to create a very easy query and iterate over the results in a friendly Java API.
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 2 years ago.
Improve this question
I am writing a little java application that will handle (potentially) a lot of data on the user's device. The structure of my data is this:
item type 1 contains
integer variable
png/jpeg image
2 string variables
custom datatype containing two strings and a double
list of other items of this type
list of items of type 2 who contain this item
item type 2 contains
string variable
list of items of type 1
I have honestly no idea what I could use to store this data. It should just be easy to add it to the program without requiring too many additional installation steps for the user. What do you think is best?
I would go with H2 Database. Some of the features are:
Very fast, open source, JDBC API
Embedded and server modes; in-memory databases
Browser based Console application
Small footprint: around 2 MB jar file size
Nice documentation and also the creator is active here on Stackoverflow ;-) and can help!
Look here for more: https://www.h2database.com/html/main.html
For starter, you can use SQLite for simple database. But from your story, I think Google Guava suits your needs better.
https://github.com/google/guava/wiki
You may store the data to file before the app exits and load it to memory again when it runs.
Check this one for database-like memory 100% pure Java. http://hsqldb.org/
you could use sqlite as it is a file-based database, it should work great without any installation (just add a library to your project to handle it). https://www.sqlitetutorial.net/sqlite-java/
You should store the images in a folder though
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
I have pretty standard java project with standard gradle layout, all sources are stored in git. I want to write documentation in markdown (or similar markup language) and keep all files in project directory (e.g. docs/ folder in the root). Then I want to generate static site or push my sources somewhere to have access to full documentation in html (should be self-hosted solution).
It will be good if I'm able to add simple link to other articles (like I do it in any wiki engine by using [[article]]). And It would be perfect if I've been able to add quick links to javadoc by the same technique as link to articles. And also it would be perfect if it has had built-in search engine.
I've gone through couple of static site generators but I didn't find anything which can satisfy my requirements at least half. Is there something like that? Or I need to code it by myself (I know it won't take to much time)? Maybe there's more common use case for documentation?
You have to use the concept of Doclets. There are some out there. Maybe just try this one:
https://github.com/Abnaxos/pegdown-doclet
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 4 years ago.
Improve this question
I'm developing a simple family tree application (using Jung). One of the requirement is the ability to save the graph or data that I generated.
I already looked up on Google, but most of them offer website/online kind of database. I want to be able to save the database on the desktop, and load from the same database file.
What do I need to look up for this purpose?
Look at SQLite, HSQL DB or Apache Derby. All of them should suit your recommodations, so the choice is up to you.
Or you can always store your data into file like XML or property file. It depends how big your app is going to be and what kind of data are you trying to save.
Look at embeddable databases. The good choice for you will be JavaDB http://www.oracle.com/technetwork/java/javadb/overview/index.html which is included in JDK.
SQLite
XML
Your own format to store serialized objects
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
Microsoft Excel has a nice "Text Import Wizard" to help load files that are not .xls or .csv files. The user specifies the delimiter used (or the fixed width), as well as some information about column types (general, dates, etc.). Are there any open-source Java libraries that can mimic a similar sort of functionality and allow one to put the results into home-brewed data structures?
To clarify, suppose I have a data structure to represent essentially a 2D spreadsheet. I would like to populate that data structure from a file that might be tab-delimited, comma-delimited, etc (these files might be huge BTW). I know there exist a bunch of CSV readers, but are there any that also support the type of extra markup related to column types and other types of customized pre-processing?
I'm not an open-source expert, but I would it to be under a license that wouldn't force me to release my source code. Thanks.
Yep. OpenCSV lets you choose the delimiter, in affect making it able to read all kinds of files
It appears the answer is "No," there is not a library that has all I wanted. Will's solution did not include the type of pre-processing that I was hoping for.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I'm using Berkeley DB Java edition, via the DPL interface.
I want to ask if someone knows about any GUI library that could make it easy to browse the data saved in the database.
I know that BDB documentation says that the metadata about the stored entities is not saved in any place and therefore only the person who have written the data can know what are the types of the classes that would be returned from there. That's why I'm searching for a library (not a complete program) that would be included to the main project and so it would know the types of my classes and would be able to show the data correctly.
p.s. I've found this bdb-browser but it seems like a dead project.
Update:
So far I've found a GUI that shows the statistics gathered for the BDB via the JMX. Here is how to use it: http://www.oracle.com/technology/documentation/berkeley-db/je/jconsole/JConsole-plugin.html
Still searching for data browser...
You could try DbVisualizer.
DbVisualizer doesn't directly support the Berkeley DB, but does provide JDBC drivers for many databases,
You can use Execute Query to connect Berkeley DB. Its is a free software. You can get the distribution from http://executequery.org
Here is an extremely simple browser. Needs to be compiled though.
https://github.com/ferruccio/bdbvu
I did a quick search and didn't find anything.
I don't think you're going to have a lot of luck looking for a data browser, because the format of the value in each database entry is going to be variable. For example, it might be primitive data, data written out by the default Java serialization, or a custom format for an instance of a class which implements Externalizable.