FileParser
v3.0.0
FileParser 는 라인 별 텍스트 파일을 읽도록 설계된 .NET 라이브러리입니다. 각 줄의 컨텐츠를 기본 유형 Vars (int, double, String 등)에 저장합니다.
Nullable 1.6.x에서 활성화됩니다. 이 프로젝트는 매우 구체적인 목적으로 태어났습니다. 알려진 구조를 가진 파일을 쉽게 구문 분석하는 도구를 제공하는데, C ++ 표준 IO 접근 방식만큼 유연하고 사용하기 쉽습니다.
내가 의미하는 바를 이해하지 못하는 사람들에게는 간단한 사용 사례가 있습니다 (또한 리포지드).
정수 n (> = 0)과 n 더블과 최종 문자열이 포함 된 다음 input.txt 가 주어지면
5 1.1 3.14159265 2.2265 5.5 10 fish 다음과 같은 간단한 .cpp 스 니펫은 input.txt 처리 할 수 있으므로 파일을 표준 입력 소스로 선택할 수 있습니다.
./myExecutable < input.txt > output.txt
# include < iostream >
# include < list >
# include < string >
int main ()
{
int _integer;
std::string _str;
std::list< double > _list;
double _auxdouble;
// Input start;
std::cin>>_integer;
for ( int i= 0 ; i<_integer; ++i)
{
std::cin>>_auxdouble;
_list. push_back (_auxdouble);
}
std::cin>>_str;
// Input end
// Data processing
// Output start
std::cout<<_integer<< " " ;
for ( const double & d : _list)
std::cout<<d<< " " ;
std::cout<<_str;
// Output end
return 0 ;
} C ++를 사용하여 이러한 종류의 간단한 .txt 파일을 처리하는 데 어려움이없는 것 같습니다.
글쎄, C#을 사용하는 것은 그다지 간단하지 않으며, 이것이 FileParser 위해 만들어진 이유입니다.
using System ;
using System . Collections . Generic ;
using System . Globalization ;
using System . IO ;
using FileParser ;
namespace FileParserSample
{
class Program
{
static void Main ( string [ ] args )
{
var cultureInfo = new CultureInfo ( "en-US" ) ;
CultureInfo . DefaultThreadCurrentCulture = cultureInfo ;
List < double > listDouble = new List < double > ( ) ;
string str ;
// Input start
IParsedFile file = new ParsedFile ( "SimpleInput.txt" ) ;
IParsedLine firstLine = file . NextLine ( ) ;
int _integer = firstLine . NextElement < int > ( ) ;
for ( int i = 0 ; i < _integer ; ++ i )
listDouble . Add ( firstLine . NextElement < double > ( ) ) ;
str = firstLine . NextElement < string > ( ) ;
// Input end
// Data Processing
// Output start
StreamWriter writer = new StreamWriter ( ".. \ CSharpSimpleOutput.txt" ) ;
using ( writer )
{
writer . WriteLine ( _integer + " " + string . Join ( null , listDouble ) ) ;
}
// Output end
}
}
} 나는 FileParser API를 설명하는 위키를 만들기 위해 최선을 다했습니다.
위키 외에도 사용 된 일부 실제 프로젝트는 다음과 같습니다.
다른 사람이 FileParser를 사용하는 경우 제안을 받아들이고 의심을 해결하게되어 기쁩니다.
문제를 열 뿐이야 :)