我有一个文本文件,我想逐行读取并记录文本文件中的位置.在读取文件的任何行后,程序可以退出,我需要在恢复时在下一行继续读取该文件.
以下是一些示例代码:
using (FileStream fileStream = new FileStream("Sample.txt", FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
{
fileStream.Seek(GetLastPositionInFile(), SeekOrigin.Begin);
using (StreamReader streamReader = new StreamReader(fileStream))
{
while (!streamReader.EndOfStream)
{
string line = streamReader.ReadLine();
DoSomethingInteresting(line);
SaveLastPositionInFile(fileStream.Position);
if (CheckSomeCondition())
{
break;
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我运行这段代码时,fileStream.Position读取每一行后,它的值不会改变,只有在读完几行后才会前进.当它发生变化时,它会以1024的倍数增加.现在我假设有一些缓冲正在进行,但我怎样才能记录文件中的确切位置?
我在Django中有一个应用程序,它只有管理员才能使用.我想要做的是添加一个按钮来执行管理员应用程序的此应用程序部分中的例程.
我应该为它制作一个模板,如果是这样的话,我该如何在管理员中为应用添加一个html模板.或者可能只是添加按钮的命令?
我试图将pdf页面绘制到pdf上下文中,然后将其保存到磁盘.我似乎无法弄清楚出了什么问题.有人可以给我一些指示.谢谢.
- (void)testQuartz:(NSData *)pdfDocumentData
{
//Create the pdf document reference
CGDataProviderRef dataProvider = CGDataProviderCreateWithCFData((CFDataRef)pdfDocumentData);
CGPDFDocumentRef document = CGPDFDocumentCreateWithProvider(dataProvider);
CGDataProviderRelease(dataProvider); //Release the data provider
//Create the pdf context
CGPDFPageRef page = CGPDFDocumentGetPage(document, 0);
CGRect pageRect = CGPDFPageGetBoxRect(page, kCGPDFMediaBox);
CFMutableDataRef mutableData = CFDataCreateMutable(NULL, 0);
CGDataConsumerRef dataConsumer = CGDataConsumerCreateWithCFData(mutableData);
CGContextRef pdfContext = CGPDFContextCreate(dataConsumer, &pageRect, NULL);
if (CGPDFDocumentGetNumberOfPages(document) > 0)
{
//Draw the page onto the new context
page = CGPDFDocumentGetPage(document, 0);
CGContextDrawPDFPage(pdfContext, page);
}
else
{
NSLog(@"Failed to create the document");
}
//Write …Run Code Online (Sandbox Code Playgroud) 我刚刚有一个巨大的*金发时刻**,但它突出了我对Entity Framework的烦恼.我已经禁用了延迟加载,因此我强迫自己实际考虑我需要哪些数据以尽可能快地保持应用程序.
因此,为了在查询中返回数据,我需要使用该Include方法:
var query = from item in context.Customers
.Include(x=> x.Orders)
select item
Run Code Online (Sandbox Code Playgroud)
这是好的,直到我想在层次结构中更深入地选择一个项目.即:
Customer 1-* Orders *-1 Factory 1-1 Factory Type
Run Code Online (Sandbox Code Playgroud)
据我所知,热切返回所有这些数据的唯一方法是执行以下操作:
var query = from item in context.Customers
.Include("Orders.Factory.FactoryType")
select item
Run Code Online (Sandbox Code Playgroud)
有了上述内容,我无法System.Data.Entity按照我的第一个例子使用Lambdas.有没有人知道我在这里是否遗漏了一些明显的东西,还是我坚持使用字符串声明通过集合导航属性?
如果我没有任何收藏品,我可以写:
.Include(x=> x.Order.OrderType.Factory.FactoryType) // No bother
Run Code Online (Sandbox Code Playgroud)
但是由于Orders收集,就我所知FirstOrDefault,没有办法直接进入儿童财产(SingleOrDefault等等,不起作用).
**这只是一个转折,我碰巧非常喜欢金发*
我正在寻找使用Haskell或F#学习函数式编程.
是否有任何编程习惯(好的或坏的)可能形成Haskell的懒惰评估?为了理解函数式编程,我喜欢Haskell函数式编程纯度的概念.我只是有点担心两件事:
谢谢,
麦克风
我有两个表要加入:
location
---------------------------
| id | city | state_id |
---------------------------
| 1 | Denver | 6 |
| 2 | Phoenix | 2 |
| 3 | Seattle | NULL |
---------------------------
state
-------------------
| id | name |
-------------------
| 1 | Alabama |
| 2 | Alaska |
| 3 | Arizona |
| 4 | Arkansas |
| 5 | California |
| 6 | Colorado |
-------------------
SELECT
location.id,
location.city,
state.name …Run Code Online (Sandbox Code Playgroud) 我有一个内部类,内部构造函数不允许它在泛型集合中使用,所以我将其更改为public.如果在内部类中有公共构造函数,那么可访问性是什么?与内部构造函数有什么不同?
有可枚举的扩展方法
Take<TSource>(
IEnumerable<TSource> source,
int count
)
Run Code Online (Sandbox Code Playgroud)
count从一开始就采用第一个元素.
有没有办法从最后获取元素?甚至更好的方法从偏移到结束采取元素?
谢谢
我目前有一个视图控制器,它实现ASIHTTP来处理API调用.
我的视图控制器触发2个单独的调用.我需要能够区分-requestFinished(ASIHTTPRequest*)请求方法中的2个调用,因此我可以相应地解析每个调用...
有没有这样做?